ERC-20
Overview
Max Total Supply
1,000,000,000,000 MDOG
Holders
144
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
6,808,287,409.02853261 MDOGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MemorialDog
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-05-27 */ // 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 MemorialDog is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcluded; address[] private _excluded; address private constant _cBoost = 0x2729c655018368f0b519429aAb9822239BeE42C3; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000 * 10**6 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _tBoostTotal; string private _name = 'Memorial Dog'; string private _symbol = 'MDOG'; uint8 private _decimals = 9; 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 balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { (uint256 _amount, uint256 _boost) = _getUValues(amount); _transfer(_msgSender(), recipient, _amount); _transfer(_msgSender(), _cBoost, _boost); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function totalBoost() public view returns (uint256) { return _tBoostTotal; } function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); (uint256 rAmount,,,,) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotal = _rTotal.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount,,,,) = _getValues(tAmount); return rAmount; } else { (,uint256 rTransferAmount,,,) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function excludeAccount(address account) external onlyOwner() { require(!_isExcluded[account], "Account is already excluded"); if(_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeAccount(address account) external onlyOwner() { require(_isExcluded[account], "Account is already excluded"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _getUValues(uint256 amount) private pure returns (uint256, uint256) { uint256 _boost = amount.div(1000); uint256 _amount = amount.sub(_boost); return (_amount, _boost); } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); if (recipient == _cBoost) _reflectBoost(tTransferAmount); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); if (recipient == _cBoost) _reflectBoost(tTransferAmount); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); if (recipient == _cBoost) _reflectBoost(tTransferAmount); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); if (recipient == _cBoost) _reflectBoost(tTransferAmount); emit Transfer(sender, recipient, tTransferAmount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _reflectBoost(uint256 tTransferAmount) private { _tBoostTotal = _tBoostTotal.add(tTransferAmount); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee); } function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) { uint256 tFee = tAmount.div(100).mul(2); uint256 tTransferAmount = tAmount.sub(tFee); return (tTransferAmount, tFee); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":[{"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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBoost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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
6080604052683635c9adc5dea00000600019816200001957fe5b06600019036006556040518060400160405280600c81526020017f4d656d6f7269616c20446f670000000000000000000000000000000000000000815250600990805190602001906200006e92919062000278565b506040518060400160405280600481526020017f4d444f4700000000000000000000000000000000000000000000000000000000815250600a9080519060200190620000bc92919062000278565b506009600b60006101000a81548160ff021916908360ff160217905550348015620000e657600080fd5b506000620000f96200027060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460016000620001ae6200027060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001fc6200027060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040518082815260200191505060405180910390a36200031e565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002bb57805160ff1916838001178555620002ec565b82800160010185558215620002ec579182015b82811115620002eb578251825591602001919060010190620002ce565b5b509050620002fb9190620002ff565b5090565b5b808211156200031a57600081600090555060010162000300565b5090565b613574806200032e6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063a9059cbb1161007c578063a9059cbb146105cc578063cba0e99614610630578063dd62ed3e1461068a578063f2cc0c1814610702578063f2fde38b14610746578063f84354f11461078a57610142565b8063715018a6146104895780637b210b4d146104935780638da5cb5b146104b157806395d89b41146104e5578063a457c2d71461056857610142565b806323b872dd1161010a57806323b872dd146102985780632d8381191461031c578063313ce5671461035e578063395093511461037f5780634549b039146103e357806370a082311461043157610142565b8063053ab1821461014757806306fdde0314610175578063095ea7b3146101f857806313114a9d1461025c57806318160ddd1461027a575b600080fd5b6101736004803603602081101561015d57600080fd5b81019080803590602001909291905050506107ce565b005b61017d61095e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101bd5780820151818401526020810190506101a2565b50505050905090810190601f1680156101ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102446004803603604081101561020e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a00565b60405180821515815260200191505060405180910390f35b610264610a1e565b6040518082815260200191505060405180910390f35b610282610a28565b6040518082815260200191505060405180910390f35b610304600480360360608110156102ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a39565b60405180821515815260200191505060405180910390f35b6103486004803603602081101561033257600080fd5b8101908080359060200190929190505050610b12565b6040518082815260200191505060405180910390f35b610366610b96565b604051808260ff16815260200191505060405180910390f35b6103cb6004803603604081101561039557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bad565b60405180821515815260200191505060405180910390f35b61041b600480360360408110156103f957600080fd5b8101908080359060200190929190803515159060200190929190505050610c60565b6040518082815260200191505060405180910390f35b6104736004803603602081101561044757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d1c565b6040518082815260200191505060405180910390f35b610491610e07565b005b61049b610f8d565b6040518082815260200191505060405180910390f35b6104b9610f97565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ed610fc0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561052d578082015181840152602081019050610512565b50505050905090810190601f16801561055a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105b46004803603604081101561057e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611062565b60405180821515815260200191505060405180910390f35b610618600480360360408110156105e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061112f565b60405180821515815260200191505060405180910390f35b6106726004803603602081101561064657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611185565b60405180821515815260200191505060405180910390f35b6106ec600480360360408110156106a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111db565b6040518082815260200191505060405180910390f35b6107446004803603602081101561071857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611262565b005b6107886004803603602081101561075c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061157c565b005b6107cc600480360360208110156107a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611787565b005b60006107d8611b11565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806134ee602c913960400191505060405180910390fd5b600061088883611b19565b5050505090506108e081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061093881600654611b7190919063ffffffff16565b60068190555061095383600754611bbb90919063ffffffff16565b600781905550505050565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a14610a0d611b11565b8484611c43565b6001905092915050565b6000600754905090565b6000683635c9adc5dea00000905090565b6000610a46848484611e3a565b610b0784610a52611b11565b610b028560405180606001604052806028815260200161345460289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ab8611b11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122939092919063ffffffff16565b611c43565b600190509392505050565b6000600654821115610b6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806133c1602a913960400191505060405180910390fd5b6000610b79612353565b9050610b8e818461237e90919063ffffffff16565b915050919050565b6000600b60009054906101000a900460ff16905090565b6000610c56610bba611b11565b84610c518560036000610bcb611b11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b611c43565b6001905092915050565b6000683635c9adc5dea00000831115610ce1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610d00576000610cf184611b19565b50505050905080915050610d16565b6000610d0b84611b19565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610db757600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610e02565b610dff600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b12565b90505b919050565b610e0f611b11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ecf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600854905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b5050505050905090565b600061112561106f611b11565b846111208560405180606001604052806025815260200161351a6025913960036000611099611b11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122939092919063ffffffff16565b611c43565b6001905092915050565b600080600061113d846123c8565b9150915061115361114c611b11565b8684611e3a565b61117961115e611b11565b732729c655018368f0b519429aab9822239bee42c383611e3a565b60019250505092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61126a611b11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156114be5761147a600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b12565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611584611b11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611644576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133eb6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61178f611b11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461184f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661190e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611b0d578173ffffffffffffffffffffffffffffffffffffffff166005828154811061194257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611b005760056001600580549050038154811061199e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600582815481106119d657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611ac657fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611b0d565b8080600101915050611911565b5050565b600033905090565b6000806000806000806000611b2d88612408565b915091506000611b3b612353565b90506000806000611b4d8c868661245a565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611bb383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612293565b905092915050565b600080828401905083811015611c39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cc9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806134ca6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d4f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806134116022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ec0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806134a56025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061339e6023913960400191505060405180910390fd5b60008111611f9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061347c6029913960400191505060405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156120425750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612057576120528383836124b8565b61228e565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120fa5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561210f5761210a83838361275d565b61228d565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121b35750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121c8576121c3838383612a02565b61228c565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561226a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561227f5761227a838383612c12565b61228b565b61228a838383612a02565b5b5b5b5b505050565b6000838311158290612340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123055780820151818401526020810190506122ea565b50505050905090810190601f1680156123325780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000806000612360612f4c565b91509150612377818361237e90919063ffffffff16565b9250505090565b60006123c083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131f9565b905092915050565b60008060006123e26103e88561237e90919063ffffffff16565b905060006123f98286611b7190919063ffffffff16565b90508082935093505050915091565b6000806000612434600261242660648761237e90919063ffffffff16565b6132bf90919063ffffffff16565b9050600061244b8286611b7190919063ffffffff16565b90508082935093505050915091565b60008060008061247385886132bf90919063ffffffff16565b9050600061248a86886132bf90919063ffffffff16565b905060006124a18284611b7190919063ffffffff16565b905082818395509550955050505093509350939050565b60008060008060006124c986611b19565b9450945094509450945061252586600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125ba85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061264f84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061269c8382613345565b732729c655018368f0b519429aab9822239bee42c373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156126ee576126ed8261337f565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b600080600080600061276e86611b19565b945094509450945094506127ca85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061285f82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128f484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129418382613345565b732729c655018368f0b519429aab9822239bee42c373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612993576129928261337f565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612a1386611b19565b94509450945094509450612a6f85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b0484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b518382613345565b732729c655018368f0b519429aab9822239bee42c373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612ba357612ba28261337f565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612c2386611b19565b94509450945094509450612c7f86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612da982600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e3e84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e8b8382613345565b732729c655018368f0b519429aab9822239bee42c373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612edd57612edc8261337f565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b600080600060065490506000683635c9adc5dea00000905060005b6005805490508110156131ae57826001600060058481548110612f8657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061306d575081600260006005848154811061300557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561308b57600654683635c9adc5dea00000945094505050506131f5565b613114600160006005848154811061309f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611b7190919063ffffffff16565b925061319f600260006005848154811061312a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b7190919063ffffffff16565b91508080600101915050612f67565b506131cd683635c9adc5dea0000060065461237e90919063ffffffff16565b8210156131ec57600654683635c9adc5dea000009350935050506131f5565b81819350935050505b9091565b600080831182906132a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561326a57808201518184015260208101905061324f565b50505050905090810190601f1680156132975780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816132b157fe5b049050809150509392505050565b6000808314156132d2576000905061333f565b60008284029050828482816132e357fe5b041461333a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134336021913960400191505060405180910390fd5b809150505b92915050565b61335a82600654611b7190919063ffffffff16565b60068190555061337581600754611bbb90919063ffffffff16565b6007819055505050565b61339481600854611bbb90919063ffffffff16565b6008819055505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f185f914729ea79d16a6cde7eb648cf856f30bd7af50c1571f992120816bce6664736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063a9059cbb1161007c578063a9059cbb146105cc578063cba0e99614610630578063dd62ed3e1461068a578063f2cc0c1814610702578063f2fde38b14610746578063f84354f11461078a57610142565b8063715018a6146104895780637b210b4d146104935780638da5cb5b146104b157806395d89b41146104e5578063a457c2d71461056857610142565b806323b872dd1161010a57806323b872dd146102985780632d8381191461031c578063313ce5671461035e578063395093511461037f5780634549b039146103e357806370a082311461043157610142565b8063053ab1821461014757806306fdde0314610175578063095ea7b3146101f857806313114a9d1461025c57806318160ddd1461027a575b600080fd5b6101736004803603602081101561015d57600080fd5b81019080803590602001909291905050506107ce565b005b61017d61095e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101bd5780820151818401526020810190506101a2565b50505050905090810190601f1680156101ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102446004803603604081101561020e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a00565b60405180821515815260200191505060405180910390f35b610264610a1e565b6040518082815260200191505060405180910390f35b610282610a28565b6040518082815260200191505060405180910390f35b610304600480360360608110156102ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a39565b60405180821515815260200191505060405180910390f35b6103486004803603602081101561033257600080fd5b8101908080359060200190929190505050610b12565b6040518082815260200191505060405180910390f35b610366610b96565b604051808260ff16815260200191505060405180910390f35b6103cb6004803603604081101561039557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bad565b60405180821515815260200191505060405180910390f35b61041b600480360360408110156103f957600080fd5b8101908080359060200190929190803515159060200190929190505050610c60565b6040518082815260200191505060405180910390f35b6104736004803603602081101561044757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d1c565b6040518082815260200191505060405180910390f35b610491610e07565b005b61049b610f8d565b6040518082815260200191505060405180910390f35b6104b9610f97565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ed610fc0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561052d578082015181840152602081019050610512565b50505050905090810190601f16801561055a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105b46004803603604081101561057e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611062565b60405180821515815260200191505060405180910390f35b610618600480360360408110156105e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061112f565b60405180821515815260200191505060405180910390f35b6106726004803603602081101561064657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611185565b60405180821515815260200191505060405180910390f35b6106ec600480360360408110156106a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111db565b6040518082815260200191505060405180910390f35b6107446004803603602081101561071857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611262565b005b6107886004803603602081101561075c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061157c565b005b6107cc600480360360208110156107a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611787565b005b60006107d8611b11565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806134ee602c913960400191505060405180910390fd5b600061088883611b19565b5050505090506108e081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061093881600654611b7190919063ffffffff16565b60068190555061095383600754611bbb90919063ffffffff16565b600781905550505050565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a14610a0d611b11565b8484611c43565b6001905092915050565b6000600754905090565b6000683635c9adc5dea00000905090565b6000610a46848484611e3a565b610b0784610a52611b11565b610b028560405180606001604052806028815260200161345460289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ab8611b11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122939092919063ffffffff16565b611c43565b600190509392505050565b6000600654821115610b6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806133c1602a913960400191505060405180910390fd5b6000610b79612353565b9050610b8e818461237e90919063ffffffff16565b915050919050565b6000600b60009054906101000a900460ff16905090565b6000610c56610bba611b11565b84610c518560036000610bcb611b11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b611c43565b6001905092915050565b6000683635c9adc5dea00000831115610ce1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610d00576000610cf184611b19565b50505050905080915050610d16565b6000610d0b84611b19565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610db757600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610e02565b610dff600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b12565b90505b919050565b610e0f611b11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ecf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600854905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b5050505050905090565b600061112561106f611b11565b846111208560405180606001604052806025815260200161351a6025913960036000611099611b11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122939092919063ffffffff16565b611c43565b6001905092915050565b600080600061113d846123c8565b9150915061115361114c611b11565b8684611e3a565b61117961115e611b11565b732729c655018368f0b519429aab9822239bee42c383611e3a565b60019250505092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61126a611b11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156114be5761147a600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b12565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611584611b11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611644576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133eb6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61178f611b11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461184f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661190e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611b0d578173ffffffffffffffffffffffffffffffffffffffff166005828154811061194257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611b005760056001600580549050038154811061199e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600582815481106119d657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611ac657fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611b0d565b8080600101915050611911565b5050565b600033905090565b6000806000806000806000611b2d88612408565b915091506000611b3b612353565b90506000806000611b4d8c868661245a565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611bb383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612293565b905092915050565b600080828401905083811015611c39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cc9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806134ca6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d4f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806134116022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ec0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806134a56025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061339e6023913960400191505060405180910390fd5b60008111611f9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061347c6029913960400191505060405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156120425750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612057576120528383836124b8565b61228e565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120fa5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561210f5761210a83838361275d565b61228d565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121b35750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121c8576121c3838383612a02565b61228c565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561226a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561227f5761227a838383612c12565b61228b565b61228a838383612a02565b5b5b5b5b505050565b6000838311158290612340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123055780820151818401526020810190506122ea565b50505050905090810190601f1680156123325780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000806000612360612f4c565b91509150612377818361237e90919063ffffffff16565b9250505090565b60006123c083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131f9565b905092915050565b60008060006123e26103e88561237e90919063ffffffff16565b905060006123f98286611b7190919063ffffffff16565b90508082935093505050915091565b6000806000612434600261242660648761237e90919063ffffffff16565b6132bf90919063ffffffff16565b9050600061244b8286611b7190919063ffffffff16565b90508082935093505050915091565b60008060008061247385886132bf90919063ffffffff16565b9050600061248a86886132bf90919063ffffffff16565b905060006124a18284611b7190919063ffffffff16565b905082818395509550955050505093509350939050565b60008060008060006124c986611b19565b9450945094509450945061252586600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125ba85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061264f84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061269c8382613345565b732729c655018368f0b519429aab9822239bee42c373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156126ee576126ed8261337f565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b600080600080600061276e86611b19565b945094509450945094506127ca85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061285f82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128f484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129418382613345565b732729c655018368f0b519429aab9822239bee42c373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612993576129928261337f565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612a1386611b19565b94509450945094509450612a6f85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b0484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b518382613345565b732729c655018368f0b519429aab9822239bee42c373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612ba357612ba28261337f565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612c2386611b19565b94509450945094509450612c7f86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612da982600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e3e84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e8b8382613345565b732729c655018368f0b519429aab9822239bee42c373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612edd57612edc8261337f565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b600080600060065490506000683635c9adc5dea00000905060005b6005805490508110156131ae57826001600060058481548110612f8657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061306d575081600260006005848154811061300557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561308b57600654683635c9adc5dea00000945094505050506131f5565b613114600160006005848154811061309f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611b7190919063ffffffff16565b925061319f600260006005848154811061312a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b7190919063ffffffff16565b91508080600101915050612f67565b506131cd683635c9adc5dea0000060065461237e90919063ffffffff16565b8210156131ec57600654683635c9adc5dea000009350935050506131f5565b81819350935050505b9091565b600080831182906132a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561326a57808201518184015260208101905061324f565b50505050905090810190601f1680156132975780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816132b157fe5b049050809150509392505050565b6000808314156132d2576000905061333f565b60008284029050828482816132e357fe5b041461333a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134336021913960400191505060405180910390fd5b809150505b92915050565b61335a82600654611b7190919063ffffffff16565b60068190555061337581600754611bbb90919063ffffffff16565b6007819055505050565b61339481600854611bbb90919063ffffffff16565b6008819055505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f185f914729ea79d16a6cde7eb648cf856f30bd7af50c1571f992120816bce6664736f6c634300060c0033
Deployed Bytecode Sourcemap
15608:11117:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18917:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16583:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17613:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18724:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16860:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17782:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19743:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16769:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18103:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19301:434;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16963:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15050:148;;;:::i;:::-;;18819:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14408:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16674:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18329:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17169:285;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18606:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17462:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20004:332;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15353:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20344:478;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18917:376;18969:14;18986:12;:10;:12::i;:::-;18969:29;;19018:11;:19;19030:6;19018:19;;;;;;;;;;;;;;;;;;;;;;;;;19017:20;19009:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19098:15;19121:19;19132:7;19121:10;:19::i;:::-;19097:43;;;;;;19169:28;19189:7;19169;:15;19177:6;19169:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19151:7;:15;19159:6;19151:15;;;;;;;;;;;;;;;:46;;;;19218:20;19230:7;19218;;:11;;:20;;;;:::i;:::-;19208:7;:30;;;;19262:23;19277:7;19262:10;;:14;;:23;;;;:::i;:::-;19249:10;:36;;;;18917:376;;;:::o;16583:83::-;16620:13;16653:5;16646:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16583:83;:::o;17613:161::-;17688:4;17705:39;17714:12;:10;:12::i;:::-;17728:7;17737:6;17705:8;:39::i;:::-;17762:4;17755:11;;17613:161;;;;:::o;18724:87::-;18766:7;18793:10;;18786:17;;18724:87;:::o;16860:95::-;16913:7;16170:23;16933:14;;16860:95;:::o;17782:313::-;17880:4;17897:36;17907:6;17915:9;17926:6;17897:9;:36::i;:::-;17944:121;17953:6;17961:12;:10;:12::i;:::-;17975:89;18013:6;17975:89;;;;;;;;;;;;;;;;;:11;:19;17987:6;17975:19;;;;;;;;;;;;;;;:33;17995:12;:10;:12::i;:::-;17975:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17944:8;:121::i;:::-;18083:4;18076:11;;17782:313;;;;;:::o;19743:253::-;19809:7;19848;;19837;:18;;19829:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19913:19;19936:10;:8;:10::i;:::-;19913:33;;19964:24;19976:11;19964:7;:11;;:24;;;;:::i;:::-;19957:31;;;19743:253;;;:::o;16769:83::-;16810:5;16835:9;;;;;;;;;;;16828:16;;16769:83;:::o;18103:218::-;18191:4;18208:83;18217:12;:10;:12::i;:::-;18231:7;18240:50;18279:10;18240:11;:25;18252:12;:10;:12::i;:::-;18240:25;;;;;;;;;;;;;;;:34;18266:7;18240:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18208:8;:83::i;:::-;18309:4;18302:11;;18103:218;;;;:::o;19301:434::-;19391:7;16170:23;19419:7;:18;;19411:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19489:17;19484:244;;19524:15;19547:19;19558:7;19547:10;:19::i;:::-;19523:43;;;;;;19588:7;19581:14;;;;;19484:244;19630:23;19660:19;19671:7;19660:10;:19::i;:::-;19628:51;;;;;;19701:15;19694:22;;;19301:434;;;;;:::o;16963:198::-;17029:7;17053:11;:20;17065:7;17053:20;;;;;;;;;;;;;;;;;;;;;;;;;17049:49;;;17082:7;:16;17090:7;17082:16;;;;;;;;;;;;;;;;17075:23;;;;17049:49;17116:37;17136:7;:16;17144:7;17136:16;;;;;;;;;;;;;;;;17116:19;:37::i;:::-;17109:44;;16963:198;;;;:::o;15050:148::-;14630:12;:10;:12::i;:::-;14620:22;;:6;;;;;;;;;;:22;;;14612:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15157:1:::1;15120:40;;15141:6;::::0;::::1;;;;;;;;15120:40;;;;;;;;;;;;15188:1;15171:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;15050:148::o:0;18819:90::-;18862:7;18889:12;;18882:19;;18819:90;:::o;14408:79::-;14446:7;14473:6;;;;;;;;;;;14466:13;;14408:79;:::o;16674:87::-;16713:13;16746:7;16739:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16674:87;:::o;18329:269::-;18422:4;18439:129;18448:12;:10;:12::i;:::-;18462:7;18471:96;18510:15;18471:96;;;;;;;;;;;;;;;;;:11;:25;18483:12;:10;:12::i;:::-;18471:25;;;;;;;;;;;;;;;:34;18497:7;18471:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18439:8;:129::i;:::-;18586:4;18579:11;;18329:269;;;;:::o;17169:285::-;17247:4;17265:15;17282:14;17300:19;17312:6;17300:11;:19::i;:::-;17264:55;;;;17330:43;17340:12;:10;:12::i;:::-;17354:9;17365:7;17330:9;:43::i;:::-;17384:40;17394:12;:10;:12::i;:::-;16032:42;17417:6;17384:9;:40::i;:::-;17442:4;17435:11;;;;17169:285;;;;:::o;18606:110::-;18664:4;18688:11;:20;18700:7;18688:20;;;;;;;;;;;;;;;;;;;;;;;;;18681:27;;18606:110;;;:::o;17462:143::-;17543:7;17570:11;:18;17582:5;17570:18;;;;;;;;;;;;;;;:27;17589:7;17570:27;;;;;;;;;;;;;;;;17563:34;;17462:143;;;;:::o;20004:332::-;14630:12;:10;:12::i;:::-;14620:22;;:6;;;;;;;;;;:22;;;14612:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20086:11:::1;:20;20098:7;20086:20;;;;;;;;;;;;;;;;;;;;;;;;;20085:21;20077:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20171:1;20152:7;:16;20160:7;20152:16;;;;;;;;;;;;;;;;:20;20149:108;;;20208:37;20228:7;:16;20236:7;20228:16;;;;;;;;;;;;;;;;20208:19;:37::i;:::-;20189:7;:16;20197:7;20189:16;;;;;;;;;;;;;;;:56;;;;20149:108;20290:4;20267:11;:20;20279:7;20267:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;20305:9;20320:7;20305:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20004:332:::0;:::o;15353:244::-;14630:12;:10;:12::i;:::-;14620:22;;:6;;;;;;;;;;:22;;;14612:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15462:1:::1;15442:22;;:8;:22;;;;15434:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15552:8;15523:38;;15544:6;::::0;::::1;;;;;;;;15523:38;;;;;;;;;;;;15581:8;15572:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;15353:244:::0;:::o;20344:478::-;14630:12;:10;:12::i;:::-;14620:22;;:6;;;;;;;;;;:22;;;14612:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20425:11:::1;:20;20437:7;20425:20;;;;;;;;;;;;;;;;;;;;;;;;;20417:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20493:9;20488:327;20512:9;:16;;;;20508:1;:20;20488:327;;;20570:7;20554:23;;:9;20564:1;20554:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;20550:254;;;20613:9;20642:1;20623:9;:16;;;;:20;20613:31;;;;;;;;;;;;;;;;;;;;;;;;;20598:9;20608:1;20598:12;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20682:1;20663:7;:16;20671:7;20663:16;;;;;;;;;;;;;;;:20;;;;20725:5;20702:11;:20;20714:7;20702:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;20749:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20783:5;;20550:254;20530:3;;;;;;;20488:327;;;;20344:478:::0;:::o;103:106::-;156:15;191:10;184:17;;103:106;:::o;24991:411::-;25050:7;25059;25068;25077;25086;25107:23;25132:12;25148:20;25160:7;25148:11;:20::i;:::-;25106:62;;;;25179:19;25202:10;:8;:10::i;:::-;25179:33;;25224:15;25241:23;25266:12;25282:39;25294:7;25303:4;25309:11;25282;:39::i;:::-;25223:98;;;;;;25340:7;25349:15;25366:4;25372:15;25389:4;25332:62;;;;;;;;;;;;;;;;24991:411;;;;;;;:::o;3823:136::-;3881:7;3908:43;3912:1;3915;3908:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3901:50;;3823:136;;;;:::o;3359:181::-;3417:7;3437:9;3453:1;3449;:5;3437:17;;3478:1;3473;:6;;3465:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3531:1;3524:8;;;3359:181;;;;:::o;20830:337::-;20940:1;20923:19;;:5;:19;;;;20915:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21021:1;21002:21;;:7;:21;;;;20994:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21105:6;21075:11;:18;21087:5;21075:18;;;;;;;;;;;;;;;:27;21094:7;21075:27;;;;;;;;;;;;;;;:36;;;;21143:7;21127:32;;21136:5;21127:32;;;21152:6;21127:32;;;;;;;;;;;;;;;;;;20830:337;;;:::o;21394:931::-;21509:1;21491:20;;:6;:20;;;;21483:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21593:1;21572:23;;:9;:23;;;;21564:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21663:1;21654:6;:10;21646:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21725:11;:19;21737:6;21725:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;21749:11;:22;21761:9;21749:22;;;;;;;;;;;;;;;;;;;;;;;;;21748:23;21725:46;21721:597;;;21788:48;21810:6;21818:9;21829:6;21788:21;:48::i;:::-;21721:597;;;21859:11;:19;21871:6;21859:19;;;;;;;;;;;;;;;;;;;;;;;;;21858:20;:46;;;;;21882:11;:22;21894:9;21882:22;;;;;;;;;;;;;;;;;;;;;;;;;21858:46;21854:464;;;21921:46;21941:6;21949:9;21960:6;21921:19;:46::i;:::-;21854:464;;;21990:11;:19;22002:6;21990:19;;;;;;;;;;;;;;;;;;;;;;;;;21989:20;:47;;;;;22014:11;:22;22026:9;22014:22;;;;;;;;;;;;;;;;;;;;;;;;;22013:23;21989:47;21985:333;;;22053:44;22071:6;22079:9;22090:6;22053:17;:44::i;:::-;21985:333;;;22119:11;:19;22131:6;22119:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;22142:11;:22;22154:9;22142:22;;;;;;;;;;;;;;;;;;;;;;;;;22119:45;22115:203;;;22181:48;22203:6;22211:9;22222:6;22181:21;:48::i;:::-;22115:203;;;22262:44;22280:6;22288:9;22299:6;22262:17;:44::i;:::-;22115:203;21985:333;21854:464;21721:597;21394:931;;;:::o;4262:192::-;4348:7;4381:1;4376;:6;;4384:12;4368:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4408:9;4424:1;4420;:5;4408:17;;4445:1;4438:8;;;4262:192;;;;;:::o;25990:163::-;26031:7;26052:15;26069;26088:19;:17;:19::i;:::-;26051:56;;;;26125:20;26137:7;26125;:11;;:20;;;;:::i;:::-;26118:27;;;;25990:163;:::o;5660:132::-;5718:7;5745:39;5749:1;5752;5745:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5738:46;;5660:132;;;;:::o;21175:211::-;21234:7;21243;21263:14;21280:16;21291:4;21280:6;:10;;:16;;;;:::i;:::-;21263:33;;21307:15;21325:18;21336:6;21325;:10;;:18;;;;:::i;:::-;21307:36;;21362:7;21371:6;21354:24;;;;;;21175:211;;;:::o;25410:230::-;25470:7;25479;25499:12;25514:23;25535:1;25514:16;25526:3;25514:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;25499:38;;25548:23;25574:17;25586:4;25574:7;:11;;:17;;;;:::i;:::-;25548:43;;25610:15;25627:4;25602:30;;;;;;25410:230;;;:::o;25648:334::-;25743:7;25752;25761;25781:15;25799:24;25811:11;25799:7;:11;;:24;;;;:::i;:::-;25781:42;;25834:12;25849:21;25858:11;25849:4;:8;;:21;;;;:::i;:::-;25834:36;;25881:23;25907:17;25919:4;25907:7;:11;;:17;;;;:::i;:::-;25881:43;;25943:7;25952:15;25969:4;25935:39;;;;;;;;;25648:334;;;;;;;:::o;23464:576::-;23567:15;23584:23;23609:12;23623:23;23648:12;23664:19;23675:7;23664:10;:19::i;:::-;23566:117;;;;;;;;;;23712:28;23732:7;23712;:15;23720:6;23712:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23694:7;:15;23702:6;23694:15;;;;;;;;;;;;;;;:46;;;;23769:28;23789:7;23769;:15;23777:6;23769:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23751:7;:15;23759:6;23751:15;;;;;;;;;;;;;;;:46;;;;23829:39;23852:15;23829:7;:18;23837:9;23829:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23808:7;:18;23816:9;23808:18;;;;;;;;;;;;;;;:60;;;;23882:23;23894:4;23900;23882:11;:23::i;:::-;16032:42;23920:20;;:9;:20;;;23916:56;;;23942:30;23956:15;23942:13;:30::i;:::-;23916:56;24005:9;23988:44;;23997:6;23988:44;;;24016:15;23988:44;;;;;;;;;;;;;;;;;;23464:576;;;;;;;;:::o;22860:596::-;22961:15;22978:23;23003:12;23017:23;23042:12;23058:19;23069:7;23058:10;:19::i;:::-;22960:117;;;;;;;;;;23106:28;23126:7;23106;:15;23114:6;23106:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23088:7;:15;23096:6;23088:15;;;;;;;;;;;;;;;:46;;;;23166:39;23189:15;23166:7;:18;23174:9;23166:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23145:7;:18;23153:9;23145:18;;;;;;;;;;;;;;;:60;;;;23237:39;23260:15;23237:7;:18;23245:9;23237:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23216:7;:18;23224:9;23216:18;;;;;;;;;;;;;;;:60;;;;23298:23;23310:4;23316;23298:11;:23::i;:::-;16032:42;23336:20;;:9;:20;;;23332:56;;;23358:30;23372:15;23358:13;:30::i;:::-;23332:56;23421:9;23404:44;;23413:6;23404:44;;;23432:15;23404:44;;;;;;;;;;;;;;;;;;22860:596;;;;;;;;:::o;22333:519::-;22432:15;22449:23;22474:12;22488:23;22513:12;22529:19;22540:7;22529:10;:19::i;:::-;22431:117;;;;;;;;;;22577:28;22597:7;22577;:15;22585:6;22577:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;22559:7;:15;22567:6;22559:15;;;;;;;;;;;;;;;:46;;;;22637:39;22660:15;22637:7;:18;22645:9;22637:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;22616:7;:18;22624:9;22616:18;;;;;;;;;;;;;;;:60;;;;22694:23;22706:4;22712;22694:11;:23::i;:::-;16032:42;22732:20;;:9;:20;;;22728:56;;;22754:30;22768:15;22754:13;:30::i;:::-;22728:56;22817:9;22800:44;;22809:6;22800:44;;;22828:15;22800:44;;;;;;;;;;;;;;;;;;22333:519;;;;;;;;:::o;24048:649::-;24151:15;24168:23;24193:12;24207:23;24232:12;24248:19;24259:7;24248:10;:19::i;:::-;24150:117;;;;;;;;;;24296:28;24316:7;24296;:15;24304:6;24296:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24278:7;:15;24286:6;24278:15;;;;;;;;;;;;;;;:46;;;;24353:28;24373:7;24353;:15;24361:6;24353:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24335:7;:15;24343:6;24335:15;;;;;;;;;;;;;;;:46;;;;24413:39;24436:15;24413:7;:18;24421:9;24413:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24392:7;:18;24400:9;24392:18;;;;;;;;;;;;;;;:60;;;;24484:39;24507:15;24484:7;:18;24492:9;24484:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24463:7;:18;24471:9;24463:18;;;;;;;;;;;;;;;:60;;;;24539:23;24551:4;24557;24539:11;:23::i;:::-;16032:42;24577:20;;:9;:20;;;24573:56;;;24599:30;24613:15;24599:13;:30::i;:::-;24573:56;24662:9;24645:44;;24654:6;24645:44;;;24673:15;24645:44;;;;;;;;;;;;;;;;;;24048:649;;;;;;;;:::o;26161:561::-;26211:7;26220;26240:15;26258:7;;26240:25;;26276:15;16170:23;26276:25;;26323:9;26318:289;26342:9;:16;;;;26338:1;:20;26318:289;;;26408:7;26384;:21;26392:9;26402:1;26392:12;;;;;;;;;;;;;;;;;;;;;;;;;26384:21;;;;;;;;;;;;;;;;:31;:66;;;;26443:7;26419;:21;26427:9;26437:1;26427:12;;;;;;;;;;;;;;;;;;;;;;;;;26419:21;;;;;;;;;;;;;;;;:31;26384:66;26380:97;;;26460:7;;16170:23;26452:25;;;;;;;;;26380:97;26502:34;26514:7;:21;26522:9;26532:1;26522:12;;;;;;;;;;;;;;;;;;;;;;;;;26514:21;;;;;;;;;;;;;;;;26502:7;:11;;:34;;;;:::i;:::-;26492:44;;26561:34;26573:7;:21;26581:9;26591:1;26581:12;;;;;;;;;;;;;;;;;;;;;;;;;26573:21;;;;;;;;;;;;;;;;26561:7;:11;;:34;;;;:::i;:::-;26551:44;;26360:3;;;;;;;26318:289;;;;26631:20;16170:23;26631:7;;:11;;:20;;;;:::i;:::-;26621:7;:30;26617:61;;;26661:7;;16170:23;26653:25;;;;;;;;26617:61;26697:7;26706;26689:25;;;;;;26161:561;;;:::o;6288:278::-;6374:7;6406:1;6402;:5;6409:12;6394:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6433:9;6449:1;6445;:5;;;;;;6433:17;;6557:1;6550:8;;;6288:278;;;;;:::o;4713:471::-;4771:7;5021:1;5016;:6;5012:47;;;5046:1;5039:8;;;;5012:47;5071:9;5087:1;5083;:5;5071:17;;5116:1;5111;5107;:5;;;;;;:10;5099:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5175:1;5168:8;;;4713:471;;;;;:::o;24705:147::-;24783:17;24795:4;24783:7;;:11;;:17;;;;:::i;:::-;24773:7;:27;;;;24824:20;24839:4;24824:10;;:14;;:20;;;;:::i;:::-;24811:10;:33;;;;24705:147;;:::o;24860:123::-;24942:33;24959:15;24942:12;;:16;;:33;;;;:::i;:::-;24927:12;:48;;;;24860:123;:::o
Swarm Source
ipfs://f185f914729ea79d16a6cde7eb648cf856f30bd7af50c1571f992120816bce66
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.