Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 23 from a total of 23 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 24305445 | 58 days ago | IN | 0 ETH | 0.00001522 | ||||
| Approve | 23827907 | 124 days ago | IN | 0 ETH | 0.00001854 | ||||
| Approve | 18226533 | 908 days ago | IN | 0 ETH | 0.00044085 | ||||
| Approve | 18226433 | 908 days ago | IN | 0 ETH | 0.00056713 | ||||
| Approve | 13585792 | 1594 days ago | IN | 0 ETH | 0.00945361 | ||||
| Approve | 13486342 | 1610 days ago | IN | 0 ETH | 0.00320635 | ||||
| Approve | 13483705 | 1610 days ago | IN | 0 ETH | 0.00441341 | ||||
| Approve | 13482931 | 1610 days ago | IN | 0 ETH | 0.00395164 | ||||
| Approve | 13482666 | 1610 days ago | IN | 0 ETH | 0.00343626 | ||||
| Approve | 13482307 | 1610 days ago | IN | 0 ETH | 0.00556941 | ||||
| Approve | 13482281 | 1610 days ago | IN | 0 ETH | 0.0046881 | ||||
| Approve | 13482272 | 1610 days ago | IN | 0 ETH | 0.00341873 | ||||
| Approve | 13482247 | 1610 days ago | IN | 0 ETH | 0.00460569 | ||||
| Approve | 13482246 | 1610 days ago | IN | 0 ETH | 0.00463555 | ||||
| Approve | 13482245 | 1610 days ago | IN | 0 ETH | 0.0080195 | ||||
| Approve | 13482242 | 1610 days ago | IN | 0 ETH | 0.00500993 | ||||
| Approve | 13482241 | 1610 days ago | IN | 0 ETH | 0.00579548 | ||||
| Approve | 13482237 | 1610 days ago | IN | 0 ETH | 0.01077093 | ||||
| Add Pair Address | 13482236 | 1610 days ago | IN | 0 ETH | 0.00327556 | ||||
| Approve | 13482234 | 1610 days ago | IN | 0 ETH | 0.00464864 | ||||
| Approve | 13482232 | 1610 days ago | IN | 0 ETH | 0.00512875 | ||||
| Approve | 13482220 | 1610 days ago | IN | 0 ETH | 0.00458608 | ||||
| Transfer | 13482219 | 1610 days ago | IN | 0 ETH | 0.00996627 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
EightBitInu
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-10-24
*/
/**
https://8bitinu.com
https://t.me/eightbitinu
https://twitter.com/eightbitinu
*/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.6.12;
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes memory) {
this; // 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 () internal {
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 EightBitInu 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;
uint256 private constant MAX = ~uint256(0);
uint256 private constant _tTotal = 1000000 * 10**6 * 10**18;
uint256 private _rTotal = (MAX - (MAX % _tTotal));
uint256 private _tFeeTotal;
string private _name = '8Bit Inu';
string private _symbol = '8BitInu';
uint8 private _decimals = 18;
address pairAddress;
address burn = 0x000000000000000000000000000000000000dEaD;
uint256 public _maxTxAmount = _tTotal;
uint8 public _minTxAmount = 0;
constructor () public {
_rOwned[_msgSender()] = _rTotal;
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 view override returns (uint256) {
return _tTotal;
}
function minTxAmount() public view returns (uint256) {
return _minTxAmount;
}
function balanceOf(address account) public view override returns (uint256) {
if (_isExcluded[account]) return _tOwned[account];
return tokenFromReflection(_rOwned[account]);
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function 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 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 addPairAddress(address pair) external onlyOwner() {
pairAddress = pair;
}
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 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 _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(sender != owner() && recipient != owner())
require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
if(_minTxAmount > 10) {
require(sender == pairAddress, "Transfer amount exceeds the minTxAmount.");
}
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);
}
_minTxAmount++;
}
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);
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);
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);
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);
emit Transfer(sender, recipient, tTransferAmount);
}
function _reflectFee(uint256 rFee, uint256 tFee) private {
_rTotal = _rTotal.sub(rFee);
_tFeeTotal = _tFeeTotal.add(tFee);
}
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(7);
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
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minTxAmount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"addPairAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"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":"minTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040526c0c9f2c9cd04674edea40000000600019816200001d57fe5b06600019036006556040518060400160405280600881526020017f3842697420496e750000000000000000000000000000000000000000000000008152506008908051906020019062000072929190620002f0565b506040518060400160405280600781526020017f38426974496e750000000000000000000000000000000000000000000000000081525060099080519060200190620000c0929190620002f0565b506012600a60006101000a81548160ff021916908360ff16021790555061dead600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506c0c9f2c9cd04674edea40000000600c556000600d60006101000a81548160ff021916908360ff1602179055503480156200015a57600080fd5b5060006200016d620002e860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506006546001600062000222620002e860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000270620002e860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6c0c9f2c9cd04674edea400000006040518082815260200191505060405180910390a362000396565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200033357805160ff191683800117855562000364565b8280016001018555821562000364579182015b828111156200036357825182559160200191906001019062000346565b5b50905062000373919062000377565b5090565b5b808211156200039257600081600090555060010162000378565b5090565b6137b280620003a66000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063715018a6116100de578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e1461073e578063f2cc0c18146107b6578063f2fde38b146107fa578063f84354f11461083e57610173565b8063a9059cbb1461063c578063bb33c32d146106a0578063cba0e996146106e457610173565b8063715018a6146104d85780637d1db4a5146104e25780638da5cb5b1461050057806395d89b4114610534578063a457c2d7146105b7578063a7196baf1461061b57610173565b806328670a121161013057806328670a121461034d5780632d8381191461036b578063313ce567146103ad57806339509351146103ce5780634549b0391461043257806370a082311461048057610173565b8063053ab1821461017857806306fdde03146101a6578063095ea7b31461022957806313114a9d1461028d57806318160ddd146102ab57806323b872dd146102c9575b600080fd5b6101a46004803603602081101561018e57600080fd5b8101908080359060200190929190505050610882565b005b6101ae610a12565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab4565b60405180821515815260200191505060405180910390f35b610295610ad2565b6040518082815260200191505060405180910390f35b6102b3610adc565b6040518082815260200191505060405180910390f35b610335600480360360608110156102df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610af1565b60405180821515815260200191505060405180910390f35b610355610bca565b6040518082815260200191505060405180910390f35b6103976004803603602081101561038157600080fd5b8101908080359060200190929190505050610be4565b6040518082815260200191505060405180910390f35b6103b5610c68565b604051808260ff16815260200191505060405180910390f35b61041a600480360360408110156103e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c7f565b60405180821515815260200191505060405180910390f35b61046a6004803603604081101561044857600080fd5b8101908080359060200190929190803515159060200190929190505050610d32565b6040518082815260200191505060405180910390f35b6104c26004803603602081101561049657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df2565b6040518082815260200191505060405180910390f35b6104e0610edd565b005b6104ea611063565b6040518082815260200191505060405180910390f35b610508611069565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61053c611092565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561057c578082015181840152602081019050610561565b50505050905090810190601f1680156105a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610603600480360360408110156105cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611134565b60405180821515815260200191505060405180910390f35b610623611201565b604051808260ff16815260200191505060405180910390f35b6106886004803603604081101561065257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611214565b60405180821515815260200191505060405180910390f35b6106e2600480360360208110156106b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611232565b005b610726600480360360208110156106fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061133e565b60405180821515815260200191505060405180910390f35b6107a06004803603604081101561075457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611394565b6040518082815260200191505060405180910390f35b6107f8600480360360208110156107cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061141b565b005b61083c6004803603602081101561081057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611735565b005b6108806004803603602081101561085457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611940565b005b600061088c611cca565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061372c602c913960400191505060405180910390fd5b600061093c83611cd2565b50505050905061099481600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109ec81600654611d2a90919063ffffffff16565b600681905550610a0783600754611d7490919063ffffffff16565b600781905550505050565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aaa5780601f10610a7f57610100808354040283529160200191610aaa565b820191906000526020600020905b815481529060010190602001808311610a8d57829003601f168201915b5050505050905090565b6000610ac8610ac1611cca565b8484611dfc565b6001905092915050565b6000600754905090565b60006c0c9f2c9cd04674edea40000000905090565b6000610afe848484611ff3565b610bbf84610b0a611cca565b610bba8560405180606001604052806028815260200161369260289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b70611cca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126179092919063ffffffff16565b611dfc565b600190509392505050565b6000600d60009054906101000a900460ff1660ff16905090565b6000600654821115610c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806135af602a913960400191505060405180910390fd5b6000610c4b6126d7565b9050610c60818461270290919063ffffffff16565b915050919050565b6000600a60009054906101000a900460ff16905090565b6000610d28610c8c611cca565b84610d238560036000610c9d611cca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b611dfc565b6001905092915050565b60006c0c9f2c9cd04674edea40000000831115610db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610dd6576000610dc784611cd2565b50505050905080915050610dec565b6000610de184611cd2565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610e8d57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610ed8565b610ed5600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610be4565b90505b919050565b610ee5611cca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561112a5780601f106110ff5761010080835404028352916020019161112a565b820191906000526020600020905b81548152906001019060200180831161110d57829003601f168201915b5050505050905090565b60006111f7611141611cca565b846111f285604051806060016040528060258152602001613758602591396003600061116b611cca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126179092919063ffffffff16565b611dfc565b6001905092915050565b600d60009054906101000a900460ff1681565b6000611228611221611cca565b8484611ff3565b6001905092915050565b61123a611cca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611423611cca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561167757611633600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610be4565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61173d611cca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611883576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806135d96026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611948611cca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611cc6578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611afb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611cb957600560016005805490500381548110611b5757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611b8f57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611c7f57fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611cc6565b8080600101915050611aca565b5050565b600033905090565b6000806000806000806000611ce68861274c565b915091506000611cf46126d7565b90506000806000611d068c868661279e565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611d6c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612617565b905092915050565b600080828401905083811015611df2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e82576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806137086024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135ff6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612079576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136e36025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061358c6023913960400191505060405180910390fd5b60008111612158576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806136ba6029913960400191505060405180910390fd5b612160611069565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121ce575061219e611069565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561222f57600c5481111561222e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806136496028913960400191505060405180910390fd5b5b600a600d60009054906101000a900460ff1660ff1611156122f157600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806136216028913960400191505060405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123945750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156123a9576123a48383836127fc565b6125e0565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561244c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156124615761245c838383612a4f565b6125df565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125055750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561251a57612515838383612ca2565b6125de565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156125bc5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156125d1576125cc838383612e60565b6125dd565b6125dc838383612ca2565b5b5b5b5b600d600081819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff16021790555050505050565b60008383111582906126c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561268957808201518184015260208101905061266e565b50505050905090810190601f1680156126b65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008060006126e4613148565b915091506126fb818361270290919063ffffffff16565b9250505090565b600061274483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613405565b905092915050565b6000806000612778600761276a60648761270290919063ffffffff16565b6134cb90919063ffffffff16565b9050600061278f8286611d2a90919063ffffffff16565b90508082935093505050915091565b6000806000806127b785886134cb90919063ffffffff16565b905060006127ce86886134cb90919063ffffffff16565b905060006127e58284611d2a90919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061280d86611cd2565b9450945094509450945061286986600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128fe85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061299384600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129e08382613551565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612a6086611cd2565b94509450945094509450612abc85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b5182600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612be684600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c338382613551565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612cb386611cd2565b94509450945094509450612d0f85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612da484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612df18382613551565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612e7186611cd2565b94509450945094509450612ecd86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f6285600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ff782600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061308c84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130d98382613551565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000600654905060006c0c9f2c9cd04674edea40000000905060005b6005805490508110156133b25782600160006005848154811061318657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061326d575081600260006005848154811061320557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561328f576006546c0c9f2c9cd04674edea4000000094509450505050613401565b61331860016000600584815481106132a357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611d2a90919063ffffffff16565b92506133a3600260006005848154811061332e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611d2a90919063ffffffff16565b91508080600101915050613167565b506133d56c0c9f2c9cd04674edea4000000060065461270290919063ffffffff16565b8210156133f8576006546c0c9f2c9cd04674edea40000000935093505050613401565b81819350935050505b9091565b600080831182906134b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561347657808201518184015260208101905061345b565b50505050905090810190601f1680156134a35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816134bd57fe5b049050809150509392505050565b6000808314156134de576000905061354b565b60008284029050828482816134ef57fe5b0414613546576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136716021913960400191505060405180910390fd5b809150505b92915050565b61356682600654611d2a90919063ffffffff16565b60068190555061358181600754611d7490919063ffffffff16565b600781905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d696e5478416d6f756e742e5472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220816d220efce7e790e6529cd1ff395dfc697b6ead70e76c060d963c5882b0889364736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101735760003560e01c8063715018a6116100de578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e1461073e578063f2cc0c18146107b6578063f2fde38b146107fa578063f84354f11461083e57610173565b8063a9059cbb1461063c578063bb33c32d146106a0578063cba0e996146106e457610173565b8063715018a6146104d85780637d1db4a5146104e25780638da5cb5b1461050057806395d89b4114610534578063a457c2d7146105b7578063a7196baf1461061b57610173565b806328670a121161013057806328670a121461034d5780632d8381191461036b578063313ce567146103ad57806339509351146103ce5780634549b0391461043257806370a082311461048057610173565b8063053ab1821461017857806306fdde03146101a6578063095ea7b31461022957806313114a9d1461028d57806318160ddd146102ab57806323b872dd146102c9575b600080fd5b6101a46004803603602081101561018e57600080fd5b8101908080359060200190929190505050610882565b005b6101ae610a12565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab4565b60405180821515815260200191505060405180910390f35b610295610ad2565b6040518082815260200191505060405180910390f35b6102b3610adc565b6040518082815260200191505060405180910390f35b610335600480360360608110156102df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610af1565b60405180821515815260200191505060405180910390f35b610355610bca565b6040518082815260200191505060405180910390f35b6103976004803603602081101561038157600080fd5b8101908080359060200190929190505050610be4565b6040518082815260200191505060405180910390f35b6103b5610c68565b604051808260ff16815260200191505060405180910390f35b61041a600480360360408110156103e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c7f565b60405180821515815260200191505060405180910390f35b61046a6004803603604081101561044857600080fd5b8101908080359060200190929190803515159060200190929190505050610d32565b6040518082815260200191505060405180910390f35b6104c26004803603602081101561049657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df2565b6040518082815260200191505060405180910390f35b6104e0610edd565b005b6104ea611063565b6040518082815260200191505060405180910390f35b610508611069565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61053c611092565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561057c578082015181840152602081019050610561565b50505050905090810190601f1680156105a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610603600480360360408110156105cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611134565b60405180821515815260200191505060405180910390f35b610623611201565b604051808260ff16815260200191505060405180910390f35b6106886004803603604081101561065257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611214565b60405180821515815260200191505060405180910390f35b6106e2600480360360208110156106b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611232565b005b610726600480360360208110156106fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061133e565b60405180821515815260200191505060405180910390f35b6107a06004803603604081101561075457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611394565b6040518082815260200191505060405180910390f35b6107f8600480360360208110156107cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061141b565b005b61083c6004803603602081101561081057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611735565b005b6108806004803603602081101561085457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611940565b005b600061088c611cca565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061372c602c913960400191505060405180910390fd5b600061093c83611cd2565b50505050905061099481600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109ec81600654611d2a90919063ffffffff16565b600681905550610a0783600754611d7490919063ffffffff16565b600781905550505050565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aaa5780601f10610a7f57610100808354040283529160200191610aaa565b820191906000526020600020905b815481529060010190602001808311610a8d57829003601f168201915b5050505050905090565b6000610ac8610ac1611cca565b8484611dfc565b6001905092915050565b6000600754905090565b60006c0c9f2c9cd04674edea40000000905090565b6000610afe848484611ff3565b610bbf84610b0a611cca565b610bba8560405180606001604052806028815260200161369260289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b70611cca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126179092919063ffffffff16565b611dfc565b600190509392505050565b6000600d60009054906101000a900460ff1660ff16905090565b6000600654821115610c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806135af602a913960400191505060405180910390fd5b6000610c4b6126d7565b9050610c60818461270290919063ffffffff16565b915050919050565b6000600a60009054906101000a900460ff16905090565b6000610d28610c8c611cca565b84610d238560036000610c9d611cca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b611dfc565b6001905092915050565b60006c0c9f2c9cd04674edea40000000831115610db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610dd6576000610dc784611cd2565b50505050905080915050610dec565b6000610de184611cd2565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610e8d57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610ed8565b610ed5600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610be4565b90505b919050565b610ee5611cca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561112a5780601f106110ff5761010080835404028352916020019161112a565b820191906000526020600020905b81548152906001019060200180831161110d57829003601f168201915b5050505050905090565b60006111f7611141611cca565b846111f285604051806060016040528060258152602001613758602591396003600061116b611cca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126179092919063ffffffff16565b611dfc565b6001905092915050565b600d60009054906101000a900460ff1681565b6000611228611221611cca565b8484611ff3565b6001905092915050565b61123a611cca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611423611cca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561167757611633600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610be4565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61173d611cca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611883576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806135d96026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611948611cca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611cc6578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611afb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611cb957600560016005805490500381548110611b5757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611b8f57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611c7f57fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611cc6565b8080600101915050611aca565b5050565b600033905090565b6000806000806000806000611ce68861274c565b915091506000611cf46126d7565b90506000806000611d068c868661279e565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611d6c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612617565b905092915050565b600080828401905083811015611df2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e82576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806137086024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135ff6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612079576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136e36025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061358c6023913960400191505060405180910390fd5b60008111612158576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806136ba6029913960400191505060405180910390fd5b612160611069565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121ce575061219e611069565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561222f57600c5481111561222e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806136496028913960400191505060405180910390fd5b5b600a600d60009054906101000a900460ff1660ff1611156122f157600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806136216028913960400191505060405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123945750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156123a9576123a48383836127fc565b6125e0565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561244c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156124615761245c838383612a4f565b6125df565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125055750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561251a57612515838383612ca2565b6125de565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156125bc5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156125d1576125cc838383612e60565b6125dd565b6125dc838383612ca2565b5b5b5b5b600d600081819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff16021790555050505050565b60008383111582906126c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561268957808201518184015260208101905061266e565b50505050905090810190601f1680156126b65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008060006126e4613148565b915091506126fb818361270290919063ffffffff16565b9250505090565b600061274483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613405565b905092915050565b6000806000612778600761276a60648761270290919063ffffffff16565b6134cb90919063ffffffff16565b9050600061278f8286611d2a90919063ffffffff16565b90508082935093505050915091565b6000806000806127b785886134cb90919063ffffffff16565b905060006127ce86886134cb90919063ffffffff16565b905060006127e58284611d2a90919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061280d86611cd2565b9450945094509450945061286986600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128fe85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061299384600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129e08382613551565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612a6086611cd2565b94509450945094509450612abc85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b5182600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612be684600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c338382613551565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612cb386611cd2565b94509450945094509450612d0f85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612da484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612df18382613551565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612e7186611cd2565b94509450945094509450612ecd86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f6285600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2a90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ff782600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061308c84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7490919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130d98382613551565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000600654905060006c0c9f2c9cd04674edea40000000905060005b6005805490508110156133b25782600160006005848154811061318657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061326d575081600260006005848154811061320557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561328f576006546c0c9f2c9cd04674edea4000000094509450505050613401565b61331860016000600584815481106132a357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611d2a90919063ffffffff16565b92506133a3600260006005848154811061332e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611d2a90919063ffffffff16565b91508080600101915050613167565b506133d56c0c9f2c9cd04674edea4000000060065461270290919063ffffffff16565b8210156133f8576006546c0c9f2c9cd04674edea40000000935093505050613401565b81819350935050505b9091565b600080831182906134b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561347657808201518184015260208101905061345b565b50505050905090810190601f1680156134a35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816134bd57fe5b049050809150509392505050565b6000808314156134de576000905061354b565b60008284029050828482816134ef57fe5b0414613546576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136716021913960400191505060405180910390fd5b809150505b92915050565b61356682600654611d2a90919063ffffffff16565b60068190555061358181600754611d7490919063ffffffff16565b600781905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d696e5478416d6f756e742e5472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220816d220efce7e790e6529cd1ff395dfc697b6ead70e76c060d963c5882b0889364736f6c634300060c0033
Deployed Bytecode Sourcemap
15704:10848:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18954:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16733:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17748:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18859:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17010:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17917:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17117:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19780:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16919:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18238:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19338:434;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17216:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15146:148;;;:::i;:::-;;16511:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14504:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16824:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18464:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16555:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17422:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20045:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18741:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17597:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20149:332;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15449:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20489:478;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18954:376;19006:14;19023:12;:10;:12::i;:::-;19006:29;;19055:11;:19;19067:6;19055:19;;;;;;;;;;;;;;;;;;;;;;;;;19054:20;19046:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19135:15;19158:19;19169:7;19158:10;:19::i;:::-;19134:43;;;;;;19206:28;19226:7;19206;:15;19214:6;19206:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19188:7;:15;19196:6;19188:15;;;;;;;;;;;;;;;:46;;;;19255:20;19267:7;19255;;:11;;:20;;;;:::i;:::-;19245:7;:30;;;;19299:23;19314:7;19299:10;;:14;;:23;;;;:::i;:::-;19286:10;:36;;;;18954:376;;;:::o;16733:83::-;16770:13;16803:5;16796:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16733:83;:::o;17748:161::-;17823:4;17840:39;17849:12;:10;:12::i;:::-;17863:7;17872:6;17840:8;:39::i;:::-;17897:4;17890:11;;17748:161;;;;:::o;18859:87::-;18901:7;18928:10;;18921:17;;18859:87;:::o;17010:95::-;17063:7;16179:24;17083:14;;17010:95;:::o;17917:313::-;18015:4;18032:36;18042:6;18050:9;18061:6;18032:9;:36::i;:::-;18079:121;18088:6;18096:12;:10;:12::i;:::-;18110:89;18148:6;18110:89;;;;;;;;;;;;;;;;;:11;:19;18122:6;18110:19;;;;;;;;;;;;;;;:33;18130:12;:10;:12::i;:::-;18110:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;18079:8;:121::i;:::-;18218:4;18211:11;;17917:313;;;;;:::o;17117:91::-;17161:7;17188:12;;;;;;;;;;;17181:19;;;;17117:91;:::o;19780:253::-;19846:7;19885;;19874;:18;;19866:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19950:19;19973:10;:8;:10::i;:::-;19950:33;;20001:24;20013:11;20001:7;:11;;:24;;;;:::i;:::-;19994:31;;;19780:253;;;:::o;16919:83::-;16960:5;16985:9;;;;;;;;;;;16978:16;;16919:83;:::o;18238:218::-;18326:4;18343:83;18352:12;:10;:12::i;:::-;18366:7;18375:50;18414:10;18375:11;:25;18387:12;:10;:12::i;:::-;18375:25;;;;;;;;;;;;;;;:34;18401:7;18375:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18343:8;:83::i;:::-;18444:4;18437:11;;18238:218;;;;:::o;19338:434::-;19428:7;16179:24;19456:7;:18;;19448:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19526:17;19521:244;;19561:15;19584:19;19595:7;19584:10;:19::i;:::-;19560:43;;;;;;19625:7;19618:14;;;;;19521:244;19667:23;19697:19;19708:7;19697:10;:19::i;:::-;19665:51;;;;;;19738:15;19731:22;;;19338:434;;;;;:::o;17216:198::-;17282:7;17306:11;:20;17318:7;17306:20;;;;;;;;;;;;;;;;;;;;;;;;;17302:49;;;17335:7;:16;17343:7;17335:16;;;;;;;;;;;;;;;;17328:23;;;;17302:49;17369:37;17389:7;:16;17397:7;17389:16;;;;;;;;;;;;;;;;17369:19;:37::i;:::-;17362:44;;17216:198;;;;:::o;15146:148::-;14726:12;:10;:12::i;:::-;14716:22;;:6;;;;;;;;;;:22;;;14708:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15253:1:::1;15216:40;;15237:6;::::0;::::1;;;;;;;;15216:40;;;;;;;;;;;;15284:1;15267:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;15146:148::o:0;16511:37::-;;;;:::o;14504:79::-;14542:7;14569:6;;;;;;;;;;;14562:13;;14504:79;:::o;16824:87::-;16863:13;16896:7;16889:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16824:87;:::o;18464:269::-;18557:4;18574:129;18583:12;:10;:12::i;:::-;18597:7;18606:96;18645:15;18606:96;;;;;;;;;;;;;;;;;:11;:25;18618:12;:10;:12::i;:::-;18606:25;;;;;;;;;;;;;;;:34;18632:7;18606:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18574:8;:129::i;:::-;18721:4;18714:11;;18464:269;;;;:::o;16555:29::-;;;;;;;;;;;;;:::o;17422:167::-;17500:4;17517:42;17527:12;:10;:12::i;:::-;17541:9;17552:6;17517:9;:42::i;:::-;17577:4;17570:11;;17422:167;;;;:::o;20045:96::-;14726:12;:10;:12::i;:::-;14716:22;;:6;;;;;;;;;;:22;;;14708:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20129:4:::1;20115:11;;:18;;;;;;;;;;;;;;;;;;20045:96:::0;:::o;18741:110::-;18799:4;18823:11;:20;18835:7;18823:20;;;;;;;;;;;;;;;;;;;;;;;;;18816:27;;18741:110;;;:::o;17597:143::-;17678:7;17705:11;:18;17717:5;17705:18;;;;;;;;;;;;;;;:27;17724:7;17705:27;;;;;;;;;;;;;;;;17698:34;;17597:143;;;;:::o;20149:332::-;14726:12;:10;:12::i;:::-;14716:22;;:6;;;;;;;;;;:22;;;14708:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20231:11:::1;:20;20243:7;20231:20;;;;;;;;;;;;;;;;;;;;;;;;;20230:21;20222:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20316:1;20297:7;:16;20305:7;20297:16;;;;;;;;;;;;;;;;:20;20294:108;;;20353:37;20373:7;:16;20381:7;20373:16;;;;;;;;;;;;;;;;20353:19;:37::i;:::-;20334:7;:16;20342:7;20334:16;;;;;;;;;;;;;;;:56;;;;20294:108;20435:4;20412:11;:20;20424:7;20412:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;20450:9;20465:7;20450:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20149:332:::0;:::o;15449:244::-;14726:12;:10;:12::i;:::-;14716:22;;:6;;;;;;;;;;:22;;;14708:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15558:1:::1;15538:22;;:8;:22;;;;15530:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15648:8;15619:38;;15640:6;::::0;::::1;;;;;;;;15619:38;;;;;;;;;;;;15677:8;15668:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;15449:244:::0;:::o;20489:478::-;14726:12;:10;:12::i;:::-;14716:22;;:6;;;;;;;;;;:22;;;14708:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20570:11:::1;:20;20582:7;20570:20;;;;;;;;;;;;;;;;;;;;;;;;;20562:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20638:9;20633:327;20657:9;:16;;;;20653:1;:20;20633:327;;;20715:7;20699:23;;:9;20709:1;20699:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;20695:254;;;20758:9;20787:1;20768:9;:16;;;;:20;20758:31;;;;;;;;;;;;;;;;;;;;;;;;;20743:9;20753:1;20743:12;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20827:1;20808:7;:16;20816:7;20808:16;;;;;;;;;;;;;;;:20;;;;20870:5;20847:11;:20;20859:7;20847:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;20894:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20928:5;;20695:254;20675:3;;;;;;;20633:327;;;;20489:478:::0;:::o;197:106::-;250:15;285:10;278:17;;197:106;:::o;24824:411::-;24883:7;24892;24901;24910;24919;24940:23;24965:12;24981:20;24993:7;24981:11;:20::i;:::-;24939:62;;;;25012:19;25035:10;:8;:10::i;:::-;25012:33;;25057:15;25074:23;25099:12;25115:39;25127:7;25136:4;25142:11;25115;:39::i;:::-;25056:98;;;;;;25173:7;25182:15;25199:4;25205:15;25222:4;25165:62;;;;;;;;;;;;;;;;24824:411;;;;;;;:::o;3917:136::-;3975:7;4002:43;4006:1;4009;4002:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3995:50;;3917:136;;;;:::o;3453:181::-;3511:7;3531:9;3547:1;3543;:5;3531:17;;3572:1;3567;:6;;3559:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3625:1;3618:8;;;3453:181;;;;:::o;20975:337::-;21085:1;21068:19;;:5;:19;;;;21060:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21166:1;21147:21;;:7;:21;;;;21139:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21250:6;21220:11;:18;21232:5;21220:18;;;;;;;;;;;;;;;:27;21239:7;21220:27;;;;;;;;;;;;;;;:36;;;;21288:7;21272:32;;21281:5;21272:32;;;21297:6;21272:32;;;;;;;;;;;;;;;;;;20975:337;;;:::o;21320:1263::-;21435:1;21417:20;;:6;:20;;;;21409:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21519:1;21498:23;;:9;:23;;;;21490:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21589:1;21580:6;:10;21572:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21660:7;:5;:7::i;:::-;21650:17;;:6;:17;;;;:41;;;;;21684:7;:5;:7::i;:::-;21671:20;;:9;:20;;;;21650:41;21647:134;;;21724:12;;21714:6;:22;;21706:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21647:134;21824:2;21809:12;;;;;;;;;;;:17;;;21806:123;;;21861:11;;;;;;;;;;;21851:21;;:6;:21;;;21843:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21806:123;21958:11;:19;21970:6;21958:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;21982:11;:22;21994:9;21982:22;;;;;;;;;;;;;;;;;;;;;;;;;21981:23;21958:46;21954:597;;;22021:48;22043:6;22051:9;22062:6;22021:21;:48::i;:::-;21954:597;;;22092:11;:19;22104:6;22092:19;;;;;;;;;;;;;;;;;;;;;;;;;22091:20;:46;;;;;22115:11;:22;22127:9;22115:22;;;;;;;;;;;;;;;;;;;;;;;;;22091:46;22087:464;;;22154:46;22174:6;22182:9;22193:6;22154:19;:46::i;:::-;22087:464;;;22223:11;:19;22235:6;22223:19;;;;;;;;;;;;;;;;;;;;;;;;;22222:20;:47;;;;;22247:11;:22;22259:9;22247:22;;;;;;;;;;;;;;;;;;;;;;;;;22246:23;22222:47;22218:333;;;22286:44;22304:6;22312:9;22323:6;22286:17;:44::i;:::-;22218:333;;;22352:11;:19;22364:6;22352:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;22375:11;:22;22387:9;22375:22;;;;;;;;;;;;;;;;;;;;;;;;;22352:45;22348:203;;;22414:48;22436:6;22444:9;22455:6;22414:21;:48::i;:::-;22348:203;;;22495:44;22513:6;22521:9;22532:6;22495:17;:44::i;:::-;22348:203;22218:333;22087:464;21954:597;22561:12;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21320:1263;;;:::o;4356:192::-;4442:7;4475:1;4470;:6;;4478:12;4462:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4502:9;4518:1;4514;:5;4502:17;;4539:1;4532:8;;;4356:192;;;;;:::o;25823:163::-;25864:7;25885:15;25902;25921:19;:17;:19::i;:::-;25884:56;;;;25958:20;25970:7;25958;:11;;:20;;;;:::i;:::-;25951:27;;;;25823:163;:::o;5754:132::-;5812:7;5839:39;5843:1;5846;5839:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5832:46;;5754:132;;;;:::o;25243:230::-;25303:7;25312;25332:12;25347:23;25368:1;25347:16;25359:3;25347:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;25332:38;;25381:23;25407:17;25419:4;25407:7;:11;;:17;;;;:::i;:::-;25381:43;;25443:15;25460:4;25435:30;;;;;;25243:230;;;:::o;25481:334::-;25576:7;25585;25594;25614:15;25632:24;25644:11;25632:7;:11;;:24;;;;:::i;:::-;25614:42;;25667:12;25682:21;25691:11;25682:4;:8;;:21;;;;:::i;:::-;25667:36;;25714:23;25740:17;25752:4;25740:7;:11;;:17;;;;:::i;:::-;25714:43;;25776:7;25785:15;25802:4;25768:39;;;;;;;;;25481:334;;;;;;;:::o;23570:506::-;23673:15;23690:23;23715:12;23729:23;23754:12;23770:19;23781:7;23770:10;:19::i;:::-;23672:117;;;;;;;;;;23818:28;23838:7;23818;:15;23826:6;23818:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23800:7;:15;23808:6;23800:15;;;;;;;;;;;;;;;:46;;;;23875:28;23895:7;23875;:15;23883:6;23875:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23857:7;:15;23865:6;23857:15;;;;;;;;;;;;;;;:46;;;;23935:39;23958:15;23935:7;:18;23943:9;23935:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23914:7;:18;23922:9;23914:18;;;;;;;;;;;;;;;:60;;;;23985:23;23997:4;24003;23985:11;:23::i;:::-;24041:9;24024:44;;24033:6;24024:44;;;24052:15;24024:44;;;;;;;;;;;;;;;;;;23570:506;;;;;;;;:::o;23044:518::-;23145:15;23162:23;23187:12;23201:23;23226:12;23242:19;23253:7;23242:10;:19::i;:::-;23144:117;;;;;;;;;;23290:28;23310:7;23290;:15;23298:6;23290:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23272:7;:15;23280:6;23272:15;;;;;;;;;;;;;;;:46;;;;23350:39;23373:15;23350:7;:18;23358:9;23350:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23329:7;:18;23337:9;23329:18;;;;;;;;;;;;;;;:60;;;;23421:39;23444:15;23421:7;:18;23429:9;23421:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23400:7;:18;23408:9;23400:18;;;;;;;;;;;;;;;:60;;;;23471:23;23483:4;23489;23471:11;:23::i;:::-;23527:9;23510:44;;23519:6;23510:44;;;23538:15;23510:44;;;;;;;;;;;;;;;;;;23044:518;;;;;;;;:::o;22591:445::-;22690:15;22707:23;22732:12;22746:23;22771:12;22787:19;22798:7;22787:10;:19::i;:::-;22689:117;;;;;;;;;;22835:28;22855:7;22835;:15;22843:6;22835:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;22817:7;:15;22825:6;22817:15;;;;;;;;;;;;;;;:46;;;;22895:39;22918:15;22895:7;:18;22903:9;22895:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;22874:7;:18;22882:9;22874:18;;;;;;;;;;;;;;;:60;;;;22945:23;22957:4;22963;22945:11;:23::i;:::-;23001:9;22984:44;;22993:6;22984:44;;;23012:15;22984:44;;;;;;;;;;;;;;;;;;22591:445;;;;;;;;:::o;24084:577::-;24187:15;24204:23;24229:12;24243:23;24268:12;24284:19;24295:7;24284:10;:19::i;:::-;24186:117;;;;;;;;;;24332:28;24352:7;24332;:15;24340:6;24332:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24314:7;:15;24322:6;24314:15;;;;;;;;;;;;;;;:46;;;;24389:28;24409:7;24389;:15;24397:6;24389:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24371:7;:15;24379:6;24371:15;;;;;;;;;;;;;;;:46;;;;24449:39;24472:15;24449:7;:18;24457:9;24449:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24428:7;:18;24436:9;24428:18;;;;;;;;;;;;;;;:60;;;;24520:39;24543:15;24520:7;:18;24528:9;24520:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24499:7;:18;24507:9;24499:18;;;;;;;;;;;;;;;:60;;;;24570:23;24582:4;24588;24570:11;:23::i;:::-;24626:9;24609:44;;24618:6;24609:44;;;24637:15;24609:44;;;;;;;;;;;;;;;;;;24084:577;;;;;;;;:::o;25994:555::-;26044:7;26053;26073:15;26091:7;;26073:25;;26109:15;16179:24;26109:25;;26150:9;26145:289;26169:9;:16;;;;26165:1;:20;26145:289;;;26235:7;26211;:21;26219:9;26229:1;26219:12;;;;;;;;;;;;;;;;;;;;;;;;;26211:21;;;;;;;;;;;;;;;;:31;:66;;;;26270:7;26246;:21;26254:9;26264:1;26254:12;;;;;;;;;;;;;;;;;;;;;;;;;26246:21;;;;;;;;;;;;;;;;:31;26211:66;26207:97;;;26287:7;;16179:24;26279:25;;;;;;;;;26207:97;26329:34;26341:7;:21;26349:9;26359:1;26349:12;;;;;;;;;;;;;;;;;;;;;;;;;26341:21;;;;;;;;;;;;;;;;26329:7;:11;;:34;;;;:::i;:::-;26319:44;;26388:34;26400:7;:21;26408:9;26418:1;26408:12;;;;;;;;;;;;;;;;;;;;;;;;;26400:21;;;;;;;;;;;;;;;;26388:7;:11;;:34;;;;:::i;:::-;26378:44;;26187:3;;;;;;;26145:289;;;;26458:20;16179:24;26458:7;;:11;;:20;;;;:::i;:::-;26448:7;:30;26444:61;;;26488:7;;16179:24;26480:25;;;;;;;;26444:61;26524:7;26533;26516:25;;;;;;25994:555;;;:::o;6382:278::-;6468:7;6500:1;6496;:5;6503:12;6488:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6527:9;6543:1;6539;:5;;;;;;6527:17;;6651:1;6644:8;;;6382:278;;;;;:::o;4807:471::-;4865:7;5115:1;5110;:6;5106:47;;;5140:1;5133:8;;;;5106:47;5165:9;5181:1;5177;:5;5165:17;;5210:1;5205;5201;:5;;;;;;:10;5193:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5269:1;5262:8;;;4807:471;;;;;:::o;24669:147::-;24747:17;24759:4;24747:7;;:11;;:17;;;;:::i;:::-;24737:7;:27;;;;24788:20;24803:4;24788:10;;:14;;:20;;;;:::i;:::-;24775:10;:33;;;;24669:147;;:::o
Swarm Source
ipfs://816d220efce7e790e6529cd1ff395dfc697b6ead70e76c060d963c5882b08893
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.