Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 5 from a total of 5 transactions
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
KishuMAX
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-23 */ 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 KishuMAX is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcluded; address[] private _excluded; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000000 * 10**6 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private _name = 'KISHUMAX Inu'; string private _symbol = 'KISHUMAX'; uint8 private _decimals = 9; uint256 public _maxTxAmount = 5000000 * 10**6 * 10**9; uint8 public transfertimeout = 240; address public uniswapPair; mapping (address => uint256) public lastBuy; 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) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { _maxTxAmount = _tTotal.mul(maxTxPercent).div( 10**2 ); } 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 _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(sender != owner() && recipient != owner()) require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); //save last buy if (sender == uniswapPair){ lastBuy[recipient] = block.timestamp; } //check if sell if (recipient == uniswapPair){ require(block.timestamp + transfertimeout >= lastBuy[sender], "currently in lock period"); } 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); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee); } function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) { uint256 tFee = tAmount.div(100).mul(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); } function setUniswapPair(address pair) external onlyOwner() { uniswapPair = pair; } }
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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"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":[{"internalType":"address","name":"","type":"address"}],"name":"lastBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"setUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transfertimeout","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405269d3c21bcecceda1000000600019816200001a57fe5b06600019036006556040518060400160405280600c81526020017f4b495348554d415820496e750000000000000000000000000000000000000000815250600890805190602001906200006f929190620002a4565b506040518060400160405280600881526020017f4b495348554d415800000000000000000000000000000000000000000000000081525060099080519060200190620000bd929190620002a4565b506009600a60006101000a81548160ff021916908360ff16021790555069010f0cf064dd59200000600b5560f0600c60006101000a81548160ff021916908360ff1602179055503480156200011157600080fd5b506000620001246200029c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460016000620001d96200029c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002276200029c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda10000006040518082815260200191505060405180910390a36200034a565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e757805160ff191683800117855562000318565b8280016001018555821562000318579182015b8281111562000317578251825591602001919060010190620002fa565b5b5090506200032791906200032b565b5090565b5b80821115620003465760008160009055506001016200032c565b5090565b613a36806200035a6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80637d1db4a5116100f9578063cba0e99611610097578063dd62ed3e11610071578063dd62ed3e14610810578063f2cc0c1814610888578063f2fde38b146108cc578063f84354f114610910576101a9565b8063cba0e99614610744578063d543dbeb1461079e578063d5aed6bf146107cc576101a9565b8063a457c2d7116100d3578063a457c2d7146105f0578063a9059cbb14610654578063c1adf7bc146106b8578063c816841b14610710576101a9565b80637d1db4a51461051b5780638da5cb5b1461053957806395d89b411461056d576101a9565b80632d838119116101665780634549b039116101405780634549b0391461044a57806370a0823114610498578063715018a6146104f05780637cada5bd146104fa576101a9565b80632d83811914610383578063313ce567146103c557806339509351146103e6576101a9565b8063053ab182146101ae57806306fdde03146101dc578063095ea7b31461025f57806313114a9d146102c357806318160ddd146102e157806323b872dd146102ff575b600080fd5b6101da600480360360208110156101c457600080fd5b8101908080359060200190929190505050610954565b005b6101e4610ae4565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610224578082015181840152602081019050610209565b50505050905090810190601f1680156102515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b86565b60405180821515815260200191505060405180910390f35b6102cb610ba4565b6040518082815260200191505060405180910390f35b6102e9610bae565b6040518082815260200191505060405180910390f35b61036b6004803603606081101561031557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc0565b60405180821515815260200191505060405180910390f35b6103af6004803603602081101561039957600080fd5b8101908080359060200190929190505050610c99565b6040518082815260200191505060405180910390f35b6103cd610d1d565b604051808260ff16815260200191505060405180910390f35b610432600480360360408110156103fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d34565b60405180821515815260200191505060405180910390f35b6104826004803603604081101561046057600080fd5b8101908080359060200190929190803515159060200190929190505050610de7565b6040518082815260200191505060405180910390f35b6104da600480360360208110156104ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ea4565b6040518082815260200191505060405180910390f35b6104f8610f8f565b005b610502611115565b604051808260ff16815260200191505060405180910390f35b610523611128565b6040518082815260200191505060405180910390f35b61054161112e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610575611157565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b557808201518184015260208101905061059a565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61063c6004803603604081101561060657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f9565b60405180821515815260200191505060405180910390f35b6106a06004803603604081101561066a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112c6565b60405180821515815260200191505060405180910390f35b6106fa600480360360208110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112e4565b6040518082815260200191505060405180910390f35b6107186112fc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107866004803603602081101561075a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611322565b60405180821515815260200191505060405180910390f35b6107ca600480360360208110156107b457600080fd5b8101908080359060200190929190505050611378565b005b61080e600480360360208110156107e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611479565b005b6108726004803603604081101561082657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611585565b6040518082815260200191505060405180910390f35b6108ca6004803603602081101561089e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061160c565b005b61090e600480360360208110156108e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611926565b005b6109526004803603602081101561092657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b31565b005b600061095e611ebb565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806139b0602c913960400191505060405180910390fd5b6000610a0e83611ec3565b505050509050610a6681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610abe81600654611f1b90919063ffffffff16565b600681905550610ad983600754611f6590919063ffffffff16565b600781905550505050565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b7c5780601f10610b5157610100808354040283529160200191610b7c565b820191906000526020600020905b815481529060010190602001808311610b5f57829003601f168201915b5050505050905090565b6000610b9a610b93611ebb565b8484611fed565b6001905092915050565b6000600754905090565b600069d3c21bcecceda1000000905090565b6000610bcd8484846121e4565b610c8e84610bd9611ebb565b610c898560405180606001604052806028815260200161391660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c3f611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128cf9092919063ffffffff16565b611fed565b600190509392505050565b6000600654821115610cf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061385b602a913960400191505060405180910390fd5b6000610d0061298f565b9050610d1581846129ba90919063ffffffff16565b915050919050565b6000600a60009054906101000a900460ff16905090565b6000610ddd610d41611ebb565b84610dd88560036000610d52611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b611fed565b6001905092915050565b600069d3c21bcecceda1000000831115610e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610e88576000610e7984611ec3565b50505050905080915050610e9e565b6000610e9384611ec3565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f3f57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610f8a565b610f87600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c99565b90505b919050565b610f97611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900460ff1681565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111ef5780601f106111c4576101008083540402835291602001916111ef565b820191906000526020600020905b8154815290600101906020018083116111d257829003601f168201915b5050505050905090565b60006112bc611206611ebb565b846112b7856040518060600160405280602581526020016139dc6025913960036000611230611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128cf9092919063ffffffff16565b611fed565b6001905092915050565b60006112da6112d3611ebb565b84846121e4565b6001905092915050565b600d6020528060005260406000206000915090505481565b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611380611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61147060646114628369d3c21bcecceda1000000612a0490919063ffffffff16565b6129ba90919063ffffffff16565b600b8190555050565b611481611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611614611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561186857611824600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c99565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61192e611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806138856026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b39611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bf9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611cb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611eb7578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611cec57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eaa57600560016005805490500381548110611d4857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611d8057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611e7057fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611eb7565b8080600101915050611cbb565b5050565b600033905090565b6000806000806000806000611ed788612a8a565b915091506000611ee561298f565b90506000806000611ef78c8686612adc565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611f5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128cf565b905092915050565b600080828401905083811015611fe3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061398c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138ab6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561226a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806139676025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806138386023913960400191505060405180910390fd5b60008111612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061393e6029913960400191505060405180910390fd5b61235161112e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156123bf575061238f61112e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561242057600b5481111561241f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806138cd6028913960400191505060405180910390fd5b5b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124bb5742600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125db57600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60009054906101000a900460ff1660ff16420110156125da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f63757272656e746c7920696e206c6f636b20706572696f64000000000000000081525060200191505060405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561267e5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126935761268e838383612b3a565b6128ca565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127365750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561274b57612746838383612d8d565b6128c9565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127ef5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612804576127ff838383612fe0565b6128c8565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156128a65750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128bb576128b683838361319e565b6128c7565b6128c6838383612fe0565b5b5b5b5b505050565b600083831115829061297c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612941578082015181840152602081019050612926565b50505050905090810190601f16801561296e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080600061299c613486565b915091506129b381836129ba90919063ffffffff16565b9250505090565b60006129fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613737565b905092915050565b600080831415612a175760009050612a84565b6000828402905082848281612a2857fe5b0414612a7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138f56021913960400191505060405180910390fd5b809150505b92915050565b6000806000612ab66002612aa86064876129ba90919063ffffffff16565b612a0490919063ffffffff16565b90506000612acd8286611f1b90919063ffffffff16565b90508082935093505050915091565b600080600080612af58588612a0490919063ffffffff16565b90506000612b0c8688612a0490919063ffffffff16565b90506000612b238284611f1b90919063ffffffff16565b905082818395509550955050505093509350939050565b6000806000806000612b4b86611ec3565b94509450945094509450612ba786600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c3c85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cd184600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1e83826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612d9e86611ec3565b94509450945094509450612dfa85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e8f82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f2484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7183826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612ff186611ec3565b9450945094509450945061304d85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130e284600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061312f83826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006131af86611ec3565b9450945094509450945061320b86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132a085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061333582600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133ca84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341783826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060006006549050600069d3c21bcecceda1000000905060005b6005805490508110156136ea578260016000600584815481106134c157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806135a8575081600260006005848154811061354057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156135c75760065469d3c21bcecceda100000094509450505050613733565b61365060016000600584815481106135db57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611f1b90919063ffffffff16565b92506136db600260006005848154811061366657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611f1b90919063ffffffff16565b915080806001019150506134a2565b5061370a69d3c21bcecceda10000006006546129ba90919063ffffffff16565b82101561372a5760065469d3c21bcecceda1000000935093505050613733565b81819350935050505b9091565b600080831182906137e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137a857808201518184015260208101905061378d565b50505050905090810190601f1680156137d55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816137ef57fe5b049050809150509392505050565b61381282600654611f1b90919063ffffffff16565b60068190555061382d81600754611f6590919063ffffffff16565b600781905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122067992c97775bd38f2f7c4213bf3221fe524b3eccc437bc3e7e6a759085e0338864736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101a95760003560e01c80637d1db4a5116100f9578063cba0e99611610097578063dd62ed3e11610071578063dd62ed3e14610810578063f2cc0c1814610888578063f2fde38b146108cc578063f84354f114610910576101a9565b8063cba0e99614610744578063d543dbeb1461079e578063d5aed6bf146107cc576101a9565b8063a457c2d7116100d3578063a457c2d7146105f0578063a9059cbb14610654578063c1adf7bc146106b8578063c816841b14610710576101a9565b80637d1db4a51461051b5780638da5cb5b1461053957806395d89b411461056d576101a9565b80632d838119116101665780634549b039116101405780634549b0391461044a57806370a0823114610498578063715018a6146104f05780637cada5bd146104fa576101a9565b80632d83811914610383578063313ce567146103c557806339509351146103e6576101a9565b8063053ab182146101ae57806306fdde03146101dc578063095ea7b31461025f57806313114a9d146102c357806318160ddd146102e157806323b872dd146102ff575b600080fd5b6101da600480360360208110156101c457600080fd5b8101908080359060200190929190505050610954565b005b6101e4610ae4565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610224578082015181840152602081019050610209565b50505050905090810190601f1680156102515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b86565b60405180821515815260200191505060405180910390f35b6102cb610ba4565b6040518082815260200191505060405180910390f35b6102e9610bae565b6040518082815260200191505060405180910390f35b61036b6004803603606081101561031557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc0565b60405180821515815260200191505060405180910390f35b6103af6004803603602081101561039957600080fd5b8101908080359060200190929190505050610c99565b6040518082815260200191505060405180910390f35b6103cd610d1d565b604051808260ff16815260200191505060405180910390f35b610432600480360360408110156103fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d34565b60405180821515815260200191505060405180910390f35b6104826004803603604081101561046057600080fd5b8101908080359060200190929190803515159060200190929190505050610de7565b6040518082815260200191505060405180910390f35b6104da600480360360208110156104ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ea4565b6040518082815260200191505060405180910390f35b6104f8610f8f565b005b610502611115565b604051808260ff16815260200191505060405180910390f35b610523611128565b6040518082815260200191505060405180910390f35b61054161112e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610575611157565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b557808201518184015260208101905061059a565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61063c6004803603604081101561060657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f9565b60405180821515815260200191505060405180910390f35b6106a06004803603604081101561066a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112c6565b60405180821515815260200191505060405180910390f35b6106fa600480360360208110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112e4565b6040518082815260200191505060405180910390f35b6107186112fc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107866004803603602081101561075a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611322565b60405180821515815260200191505060405180910390f35b6107ca600480360360208110156107b457600080fd5b8101908080359060200190929190505050611378565b005b61080e600480360360208110156107e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611479565b005b6108726004803603604081101561082657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611585565b6040518082815260200191505060405180910390f35b6108ca6004803603602081101561089e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061160c565b005b61090e600480360360208110156108e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611926565b005b6109526004803603602081101561092657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b31565b005b600061095e611ebb565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806139b0602c913960400191505060405180910390fd5b6000610a0e83611ec3565b505050509050610a6681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610abe81600654611f1b90919063ffffffff16565b600681905550610ad983600754611f6590919063ffffffff16565b600781905550505050565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b7c5780601f10610b5157610100808354040283529160200191610b7c565b820191906000526020600020905b815481529060010190602001808311610b5f57829003601f168201915b5050505050905090565b6000610b9a610b93611ebb565b8484611fed565b6001905092915050565b6000600754905090565b600069d3c21bcecceda1000000905090565b6000610bcd8484846121e4565b610c8e84610bd9611ebb565b610c898560405180606001604052806028815260200161391660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c3f611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128cf9092919063ffffffff16565b611fed565b600190509392505050565b6000600654821115610cf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061385b602a913960400191505060405180910390fd5b6000610d0061298f565b9050610d1581846129ba90919063ffffffff16565b915050919050565b6000600a60009054906101000a900460ff16905090565b6000610ddd610d41611ebb565b84610dd88560036000610d52611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b611fed565b6001905092915050565b600069d3c21bcecceda1000000831115610e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610e88576000610e7984611ec3565b50505050905080915050610e9e565b6000610e9384611ec3565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f3f57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610f8a565b610f87600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c99565b90505b919050565b610f97611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900460ff1681565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111ef5780601f106111c4576101008083540402835291602001916111ef565b820191906000526020600020905b8154815290600101906020018083116111d257829003601f168201915b5050505050905090565b60006112bc611206611ebb565b846112b7856040518060600160405280602581526020016139dc6025913960036000611230611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128cf9092919063ffffffff16565b611fed565b6001905092915050565b60006112da6112d3611ebb565b84846121e4565b6001905092915050565b600d6020528060005260406000206000915090505481565b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611380611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61147060646114628369d3c21bcecceda1000000612a0490919063ffffffff16565b6129ba90919063ffffffff16565b600b8190555050565b611481611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611614611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561186857611824600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c99565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61192e611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806138856026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b39611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bf9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611cb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611eb7578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611cec57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eaa57600560016005805490500381548110611d4857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611d8057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611e7057fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611eb7565b8080600101915050611cbb565b5050565b600033905090565b6000806000806000806000611ed788612a8a565b915091506000611ee561298f565b90506000806000611ef78c8686612adc565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611f5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128cf565b905092915050565b600080828401905083811015611fe3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061398c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138ab6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561226a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806139676025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806138386023913960400191505060405180910390fd5b60008111612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061393e6029913960400191505060405180910390fd5b61235161112e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156123bf575061238f61112e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561242057600b5481111561241f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806138cd6028913960400191505060405180910390fd5b5b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124bb5742600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125db57600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60009054906101000a900460ff1660ff16420110156125da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f63757272656e746c7920696e206c6f636b20706572696f64000000000000000081525060200191505060405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561267e5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126935761268e838383612b3a565b6128ca565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127365750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561274b57612746838383612d8d565b6128c9565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127ef5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612804576127ff838383612fe0565b6128c8565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156128a65750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128bb576128b683838361319e565b6128c7565b6128c6838383612fe0565b5b5b5b5b505050565b600083831115829061297c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612941578082015181840152602081019050612926565b50505050905090810190601f16801561296e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080600061299c613486565b915091506129b381836129ba90919063ffffffff16565b9250505090565b60006129fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613737565b905092915050565b600080831415612a175760009050612a84565b6000828402905082848281612a2857fe5b0414612a7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138f56021913960400191505060405180910390fd5b809150505b92915050565b6000806000612ab66002612aa86064876129ba90919063ffffffff16565b612a0490919063ffffffff16565b90506000612acd8286611f1b90919063ffffffff16565b90508082935093505050915091565b600080600080612af58588612a0490919063ffffffff16565b90506000612b0c8688612a0490919063ffffffff16565b90506000612b238284611f1b90919063ffffffff16565b905082818395509550955050505093509350939050565b6000806000806000612b4b86611ec3565b94509450945094509450612ba786600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c3c85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cd184600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1e83826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612d9e86611ec3565b94509450945094509450612dfa85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e8f82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f2484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7183826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612ff186611ec3565b9450945094509450945061304d85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130e284600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061312f83826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006131af86611ec3565b9450945094509450945061320b86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132a085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061333582600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133ca84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341783826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060006006549050600069d3c21bcecceda1000000905060005b6005805490508110156136ea578260016000600584815481106134c157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806135a8575081600260006005848154811061354057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156135c75760065469d3c21bcecceda100000094509450505050613733565b61365060016000600584815481106135db57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611f1b90919063ffffffff16565b92506136db600260006005848154811061366657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611f1b90919063ffffffff16565b915080806001019150506134a2565b5061370a69d3c21bcecceda10000006006546129ba90919063ffffffff16565b82101561372a5760065469d3c21bcecceda1000000935093505050613733565b81819350935050505b9091565b600080831182906137e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137a857808201518184015260208101905061378d565b50505050905090810190601f1680156137d55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816137ef57fe5b049050809150509392505050565b61381282600654611f1b90919063ffffffff16565b60068190555061382d81600754611f6590919063ffffffff16565b600781905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122067992c97775bd38f2f7c4213bf3221fe524b3eccc437bc3e7e6a759085e0338864736f6c634300060c0033
Deployed Bytecode Sourcemap
15564:11112:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18909:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16611:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17523:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18634:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16888:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17692:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19735:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16797:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18013:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19293:434;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16991:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15008:148;;;:::i;:::-;;16345:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16283:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14366:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16702:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18239:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17197:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16419:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16386:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18516:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18739:162;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;26577:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17372:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19996:332;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15311:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20336:478;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18909:376;18961:14;18978:12;:10;:12::i;:::-;18961:29;;19010:11;:19;19022:6;19010:19;;;;;;;;;;;;;;;;;;;;;;;;;19009:20;19001:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19090:15;19113:19;19124:7;19113:10;:19::i;:::-;19089:43;;;;;;19161:28;19181:7;19161;:15;19169:6;19161:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19143:7;:15;19151:6;19143:15;;;;;;;;;;;;;;;:46;;;;19210:20;19222:7;19210;;:11;;:20;;;;:::i;:::-;19200:7;:30;;;;19254:23;19269:7;19254:10;;:14;;:23;;;;:::i;:::-;19241:10;:36;;;;18909:376;;;:::o;16611:83::-;16648:13;16681:5;16674:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16611:83;:::o;17523:161::-;17598:4;17615:39;17624:12;:10;:12::i;:::-;17638:7;17647:6;17615:8;:39::i;:::-;17672:4;17665:11;;17523:161;;;;:::o;18634:87::-;18676:7;18703:10;;18696:17;;18634:87;:::o;16888:95::-;16941:7;16039:26;16961:14;;16888:95;:::o;17692:313::-;17790:4;17807:36;17817:6;17825:9;17836:6;17807:9;:36::i;:::-;17854:121;17863:6;17871:12;:10;:12::i;:::-;17885:89;17923:6;17885:89;;;;;;;;;;;;;;;;;:11;:19;17897:6;17885:19;;;;;;;;;;;;;;;:33;17905:12;:10;:12::i;:::-;17885:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17854:8;:121::i;:::-;17993:4;17986:11;;17692:313;;;;;:::o;19735:253::-;19801:7;19840;;19829;:18;;19821:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19905:19;19928:10;:8;:10::i;:::-;19905:33;;19956:24;19968:11;19956:7;:11;;:24;;;;:::i;:::-;19949:31;;;19735:253;;;:::o;16797:83::-;16838:5;16863:9;;;;;;;;;;;16856:16;;16797:83;:::o;18013:218::-;18101:4;18118:83;18127:12;:10;:12::i;:::-;18141:7;18150:50;18189:10;18150:11;:25;18162:12;:10;:12::i;:::-;18150:25;;;;;;;;;;;;;;;:34;18176:7;18150:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18118:8;:83::i;:::-;18219:4;18212:11;;18013:218;;;;:::o;19293:434::-;19383:7;16039:26;19411:7;:18;;19403:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19481:17;19476:244;;19516:15;19539:19;19550:7;19539:10;:19::i;:::-;19515:43;;;;;;19580:7;19573:14;;;;;19476:244;19622:23;19652:19;19663:7;19652:10;:19::i;:::-;19620:51;;;;;;19693:15;19686:22;;;19293:434;;;;;:::o;16991:198::-;17057:7;17081:11;:20;17093:7;17081:20;;;;;;;;;;;;;;;;;;;;;;;;;17077:49;;;17110:7;:16;17118:7;17110:16;;;;;;;;;;;;;;;;17103:23;;;;17077:49;17144:37;17164:7;:16;17172:7;17164:16;;;;;;;;;;;;;;;;17144:19;:37::i;:::-;17137:44;;16991:198;;;;:::o;15008:148::-;14588:12;:10;:12::i;:::-;14578:22;;:6;;;;;;;;;;:22;;;14570:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15115:1:::1;15078:40;;15099:6;::::0;::::1;;;;;;;;15078:40;;;;;;;;;;;;15146:1;15129:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;15008:148::o:0;16345:34::-;;;;;;;;;;;;;:::o;16283:53::-;;;;:::o;14366:79::-;14404:7;14431:6;;;;;;;;;;;14424:13;;14366:79;:::o;16702:87::-;16741:13;16774:7;16767:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16702:87;:::o;18239:269::-;18332:4;18349:129;18358:12;:10;:12::i;:::-;18372:7;18381:96;18420:15;18381:96;;;;;;;;;;;;;;;;;:11;:25;18393:12;:10;:12::i;:::-;18381:25;;;;;;;;;;;;;;;:34;18407:7;18381:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18349:8;:129::i;:::-;18496:4;18489:11;;18239:269;;;;:::o;17197:167::-;17275:4;17292:42;17302:12;:10;:12::i;:::-;17316:9;17327:6;17292:9;:42::i;:::-;17352:4;17345:11;;17197:167;;;;:::o;16419:43::-;;;;;;;;;;;;;;;;;:::o;16386:26::-;;;;;;;;;;;;;:::o;18516:110::-;18574:4;18598:11;:20;18610:7;18598:20;;;;;;;;;;;;;;;;;;;;;;;;;18591:27;;18516:110;;;:::o;18739:162::-;14588:12;:10;:12::i;:::-;14578:22;;:6;;;;;;;;;;:22;;;14570:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18833:60:::1;18877:5;18833:25;18845:12;16039:26;18833:11;;:25;;;;:::i;:::-;:29;;:60;;;;:::i;:::-;18818:12;:75;;;;18739:162:::0;:::o;26577:96::-;14588:12;:10;:12::i;:::-;14578:22;;:6;;;;;;;;;;:22;;;14570:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26661:4:::1;26647:11;;:18;;;;;;;;;;;;;;;;;;26577:96:::0;:::o;17372:143::-;17453:7;17480:11;:18;17492:5;17480:18;;;;;;;;;;;;;;;:27;17499:7;17480:27;;;;;;;;;;;;;;;;17473:34;;17372:143;;;;:::o;19996:332::-;14588:12;:10;:12::i;:::-;14578:22;;:6;;;;;;;;;;:22;;;14570:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20078:11:::1;:20;20090:7;20078:20;;;;;;;;;;;;;;;;;;;;;;;;;20077:21;20069:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20163:1;20144:7;:16;20152:7;20144:16;;;;;;;;;;;;;;;;:20;20141:108;;;20200:37;20220:7;:16;20228:7;20220:16;;;;;;;;;;;;;;;;20200:19;:37::i;:::-;20181:7;:16;20189:7;20181:16;;;;;;;;;;;;;;;:56;;;;20141:108;20282:4;20259:11;:20;20271:7;20259:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;20297:9;20312:7;20297:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19996:332:::0;:::o;15311:244::-;14588:12;:10;:12::i;:::-;14578:22;;:6;;;;;;;;;;:22;;;14570:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15420:1:::1;15400:22;;:8;:22;;;;15392:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15510:8;15481:38;;15502:6;::::0;::::1;;;;;;;;15481:38;;;;;;;;;;;;15539:8;15530:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;15311:244:::0;:::o;20336:478::-;14588:12;:10;:12::i;:::-;14578:22;;:6;;;;;;;;;;:22;;;14570:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20417:11:::1;:20;20429:7;20417:20;;;;;;;;;;;;;;;;;;;;;;;;;20409:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20485:9;20480:327;20504:9;:16;;;;20500:1;:20;20480:327;;;20562:7;20546:23;;:9;20556:1;20546:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;20542:254;;;20605:9;20634:1;20615:9;:16;;;;:20;20605:31;;;;;;;;;;;;;;;;;;;;;;;;;20590:9;20600:1;20590:12;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20674:1;20655:7;:16;20663:7;20655:16;;;;;;;;;;;;;;;:20;;;;20717:5;20694:11;:20;20706:7;20694:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;20741:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20775:5;;20542:254;20522:3;;;;;;;20480:327;;;;20336:478:::0;:::o;61:106::-;114:15;149:10;142:17;;61:106;:::o;24838:411::-;24897:7;24906;24915;24924;24933;24954:23;24979:12;24995:20;25007:7;24995:11;:20::i;:::-;24953:62;;;;25026:19;25049:10;:8;:10::i;:::-;25026:33;;25071:15;25088:23;25113:12;25129:39;25141:7;25150:4;25156:11;25129;:39::i;:::-;25070:98;;;;;;25187:7;25196:15;25213:4;25219:15;25236:4;25179:62;;;;;;;;;;;;;;;;24838:411;;;;;;;:::o;3781:136::-;3839:7;3866:43;3870:1;3873;3866:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3859:50;;3781:136;;;;:::o;3317:181::-;3375:7;3395:9;3411:1;3407;:5;3395:17;;3436:1;3431;:6;;3423:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3489:1;3482:8;;;3317:181;;;;:::o;20822:337::-;20932:1;20915:19;;:5;:19;;;;20907:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21013:1;20994:21;;:7;:21;;;;20986:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21097:6;21067:11;:18;21079:5;21067:18;;;;;;;;;;;;;;;:27;21086:7;21067:27;;;;;;;;;;;;;;;:36;;;;21135:7;21119:32;;21128:5;21119:32;;;21144:6;21119:32;;;;;;;;;;;;;;;;;;20822:337;;;:::o;21167:1401::-;21282:1;21264:20;;:6;:20;;;;21256:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21366:1;21345:23;;:9;:23;;;;21337:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21436:1;21427:6;:10;21419:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21507:7;:5;:7::i;:::-;21497:17;;:6;:17;;;;:41;;;;;21531:7;:5;:7::i;:::-;21518:20;;:9;:20;;;;21497:41;21494:132;;;21569:12;;21559:6;:22;;21551:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21494:132;21686:11;;;;;;;;;;;21676:21;;:6;:21;;;21672:90;;;21734:15;21713:7;:18;21721:9;21713:18;;;;;;;;;;;;;;;:36;;;;21672:90;21816:11;;;;;;;;;;;21803:24;;:9;:24;;;21799:145;;;21888:7;:15;21896:6;21888:15;;;;;;;;;;;;;;;;21869;;;;;;;;;;;21851:33;;:15;:33;:52;;21843:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21799:145;21968:11;:19;21980:6;21968:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;21992:11;:22;22004:9;21992:22;;;;;;;;;;;;;;;;;;;;;;;;;21991:23;21968:46;21964:597;;;22031:48;22053:6;22061:9;22072:6;22031:21;:48::i;:::-;21964:597;;;22102:11;:19;22114:6;22102:19;;;;;;;;;;;;;;;;;;;;;;;;;22101:20;:46;;;;;22125:11;:22;22137:9;22125:22;;;;;;;;;;;;;;;;;;;;;;;;;22101:46;22097:464;;;22164:46;22184:6;22192:9;22203:6;22164:19;:46::i;:::-;22097:464;;;22233:11;:19;22245:6;22233:19;;;;;;;;;;;;;;;;;;;;;;;;;22232:20;:47;;;;;22257:11;:22;22269:9;22257:22;;;;;;;;;;;;;;;;;;;;;;;;;22256:23;22232:47;22228:333;;;22296:44;22314:6;22322:9;22333:6;22296:17;:44::i;:::-;22228:333;;;22362:11;:19;22374:6;22362:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;22385:11;:22;22397:9;22385:22;;;;;;;;;;;;;;;;;;;;;;;;;22362:45;22358:203;;;22424:48;22446:6;22454:9;22465:6;22424:21;:48::i;:::-;22358:203;;;22505:44;22523:6;22531:9;22542:6;22505:17;:44::i;:::-;22358:203;22228:333;22097:464;21964:597;21167:1401;;;:::o;4220:192::-;4306:7;4339:1;4334;:6;;4342:12;4326:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4366:9;4382:1;4378;:5;4366:17;;4403:1;4396:8;;;4220:192;;;;;:::o;25837:163::-;25878:7;25899:15;25916;25935:19;:17;:19::i;:::-;25898:56;;;;25972:20;25984:7;25972;:11;;:20;;;;:::i;:::-;25965:27;;;;25837:163;:::o;5618:132::-;5676:7;5703:39;5707:1;5710;5703:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5696:46;;5618:132;;;;:::o;4671:471::-;4729:7;4979:1;4974;:6;4970:47;;;5004:1;4997:8;;;;4970:47;5029:9;5045:1;5041;:5;5029:17;;5074:1;5069;5065;:5;;;;;;:10;5057:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5133:1;5126:8;;;4671:471;;;;;:::o;25257:230::-;25317:7;25326;25346:12;25361:23;25382:1;25361:16;25373:3;25361:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;25346:38;;25395:23;25421:17;25433:4;25421:7;:11;;:17;;;;:::i;:::-;25395:43;;25457:15;25474:4;25449:30;;;;;;25257:230;;;:::o;25495:334::-;25590:7;25599;25608;25628:15;25646:24;25658:11;25646:7;:11;;:24;;;;:::i;:::-;25628:42;;25681:12;25696:21;25705:11;25696:4;:8;;:21;;;;:::i;:::-;25681:36;;25728:23;25754:17;25766:4;25754:7;:11;;:17;;;;:::i;:::-;25728:43;;25790:7;25799:15;25816:4;25782:39;;;;;;;;;25495:334;;;;;;;:::o;23573:509::-;23676:15;23693:23;23718:12;23732:23;23757:12;23773:19;23784:7;23773:10;:19::i;:::-;23675:117;;;;;;;;;;23821:28;23841:7;23821;:15;23829:6;23821:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23803:7;:15;23811:6;23803:15;;;;;;;;;;;;;;;:46;;;;23878:28;23898:7;23878;:15;23886:6;23878:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23860:7;:15;23868:6;23860:15;;;;;;;;;;;;;;;:46;;;;23938:39;23961:15;23938:7;:18;23946:9;23938:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23917:7;:18;23925:9;23917:18;;;;;;;;;;;;;;;:60;;;;23991:23;24003:4;24009;23991:11;:23::i;:::-;24047:9;24030:44;;24039:6;24030:44;;;24058:15;24030:44;;;;;;;;;;;;;;;;;;23573:509;;;;;;;;:::o;23036:529::-;23137:15;23154:23;23179:12;23193:23;23218:12;23234:19;23245:7;23234:10;:19::i;:::-;23136:117;;;;;;;;;;23282:28;23302:7;23282;:15;23290:6;23282:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23264:7;:15;23272:6;23264:15;;;;;;;;;;;;;;;:46;;;;23342:39;23365:15;23342:7;:18;23350:9;23342:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23321:7;:18;23329:9;23321:18;;;;;;;;;;;;;;;:60;;;;23413:39;23436:15;23413:7;:18;23421:9;23413:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23392:7;:18;23400:9;23392:18;;;;;;;;;;;;;;;:60;;;;23474:23;23486:4;23492;23474:11;:23::i;:::-;23530:9;23513:44;;23522:6;23513:44;;;23541:15;23513:44;;;;;;;;;;;;;;;;;;23036:529;;;;;;;;:::o;22576:452::-;22675:15;22692:23;22717:12;22731:23;22756:12;22772:19;22783:7;22772:10;:19::i;:::-;22674:117;;;;;;;;;;22820:28;22840:7;22820;:15;22828:6;22820:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;22802:7;:15;22810:6;22802:15;;;;;;;;;;;;;;;:46;;;;22880:39;22903:15;22880:7;:18;22888:9;22880:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;22859:7;:18;22867:9;22859:18;;;;;;;;;;;;;;;:60;;;;22937:23;22949:4;22955;22937:11;:23::i;:::-;22993:9;22976:44;;22985:6;22976:44;;;23004:15;22976:44;;;;;;;;;;;;;;;;;;22576:452;;;;;;;;:::o;24090:585::-;24193:15;24210:23;24235:12;24249:23;24274:12;24290:19;24301:7;24290:10;:19::i;:::-;24192:117;;;;;;;;;;24338:28;24358:7;24338;:15;24346:6;24338:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24320:7;:15;24328:6;24320:15;;;;;;;;;;;;;;;:46;;;;24395:28;24415:7;24395;:15;24403:6;24395:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24377:7;:15;24385:6;24377:15;;;;;;;;;;;;;;;:46;;;;24455:39;24478:15;24455:7;:18;24463:9;24455:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24434:7;:18;24442:9;24434:18;;;;;;;;;;;;;;;:60;;;;24526:39;24549:15;24526:7;:18;24534:9;24526:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24505:7;:18;24513:9;24505:18;;;;;;;;;;;;;;;:60;;;;24584:23;24596:4;24602;24584:11;:23::i;:::-;24640:9;24623:44;;24632:6;24623:44;;;24651:15;24623:44;;;;;;;;;;;;;;;;;;24090:585;;;;;;;;:::o;26008:561::-;26058:7;26067;26087:15;26105:7;;26087:25;;26123:15;16039:26;26123:25;;26170:9;26165:289;26189:9;:16;;;;26185:1;:20;26165:289;;;26255:7;26231;:21;26239:9;26249:1;26239:12;;;;;;;;;;;;;;;;;;;;;;;;;26231:21;;;;;;;;;;;;;;;;:31;:66;;;;26290:7;26266;:21;26274:9;26284:1;26274:12;;;;;;;;;;;;;;;;;;;;;;;;;26266:21;;;;;;;;;;;;;;;;:31;26231:66;26227:97;;;26307:7;;16039:26;26299:25;;;;;;;;;26227:97;26349:34;26361:7;:21;26369:9;26379:1;26369:12;;;;;;;;;;;;;;;;;;;;;;;;;26361:21;;;;;;;;;;;;;;;;26349:7;:11;;:34;;;;:::i;:::-;26339:44;;26408:34;26420:7;:21;26428:9;26438:1;26428:12;;;;;;;;;;;;;;;;;;;;;;;;;26420:21;;;;;;;;;;;;;;;;26408:7;:11;;:34;;;;:::i;:::-;26398:44;;26207:3;;;;;;;26165:289;;;;26478:20;16039:26;26478:7;;:11;;:20;;;;:::i;:::-;26468:7;:30;26464:61;;;26508:7;;16039:26;26500:25;;;;;;;;26464:61;26544:7;26553;26536:25;;;;;;26008:561;;;:::o;6246:278::-;6332:7;6364:1;6360;:5;6367:12;6352:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6391:9;6407:1;6403;:5;;;;;;6391:17;;6515:1;6508:8;;;6246:278;;;;;:::o;24683:147::-;24761:17;24773:4;24761:7;;:11;;:17;;;;:::i;:::-;24751:7;:27;;;;24802:20;24817:4;24802:10;;:14;;:20;;;;:::i;:::-;24789:10;:33;;;;24683:147;;:::o
Swarm Source
ipfs://67992c97775bd38f2f7c4213bf3221fe524b3eccc437bc3e7e6a759085e03388
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.