ERC-20
Overview
Max Total Supply
10,000,000,000 kmkm
Holders
103
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,058,355.907980310856326472 kmkmValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
kmkm
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-01 */ /** */ /** */ // SPDX-License-Identifier: MIT // pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ 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 ); } // Dependency file: @openzeppelin/contracts/utils/Context.sol // pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // Dependency file: @openzeppelin/contracts/access/Ownable.sol // pragma solidity ^0.8.0; // import "@openzeppelin/contracts/utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract 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() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual 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 { _setOwner(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" ); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // Dependency file: @openzeppelin/contracts/utils/math/SafeMath.sol // pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // 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 (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @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) { return a + b; } /** * @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 a - b; } /** * @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) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting 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 a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting 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) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * 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) { unchecked { require(b > 0, errorMessage); return a % b; } } } pragma solidity =0.8.4; contract kmkm is IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; string private _name; string private _symbol; uint8 private _decimals; uint256 private _totalSupply; constructor( string memory name_, string memory symbol_, uint8 decimals_, uint256 totalSupply_, address serviceFeeReceiver_, uint256 serviceFee_ ) payable { _name = name_; _symbol = symbol_; _decimals = decimals_; _totalSupply = totalSupply_ * 10**decimals_; _balances[owner()] = _balances[owner()].add(_totalSupply); emit Transfer(address(0), owner(), _totalSupply); payable(serviceFeeReceiver_).transfer(serviceFee_); } /** * @dev Returns the name of the token. */ function name() public view virtual returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is * called. * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual returns (uint8) { return _decimals; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue) ); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ 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; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _balances[sender] = _balances[sender].sub( amount, "ERC20: transfer amount exceeds balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { 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); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"},{"internalType":"address","name":"serviceFeeReceiver_","type":"address"},{"internalType":"uint256","name":"serviceFee_","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260405162002109380380620021098339818101604052810190620000299190620004b5565b620000496200003d6200024160201b60201c565b6200024960201b60201c565b8560039080519060200190620000619291906200034e565b5084600490805190602001906200007a9291906200034e565b5083600560006101000a81548160ff021916908360ff16021790555083600a620000a59190620006c2565b83620000b29190620007ff565b6006819055506200012260065460016000620000d36200030d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200033660201b6200094e1790919060201c565b60016000620001366200030d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001846200030d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620001e591906200058e565b60405180910390a38173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801562000234573d6000803e3d6000fd5b5050505050505062000a46565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081836200034691906200060a565b905092915050565b8280546200035c90620008e1565b90600052602060002090601f016020900481019282620003805760008555620003cc565b82601f106200039b57805160ff1916838001178555620003cc565b82800160010185558215620003cc579182015b82811115620003cb578251825591602001919060010190620003ae565b5b509050620003db9190620003df565b5090565b5b80821115620003fa576000816000905550600101620003e0565b5090565b6000620004156200040f84620005d4565b620005ab565b9050828152602081018484840111156200042e57600080fd5b6200043b848285620008ab565b509392505050565b6000815190506200045481620009f8565b92915050565b600082601f8301126200046c57600080fd5b81516200047e848260208601620003fe565b91505092915050565b600081519050620004988162000a12565b92915050565b600081519050620004af8162000a2c565b92915050565b60008060008060008060c08789031215620004cf57600080fd5b600087015167ffffffffffffffff811115620004ea57600080fd5b620004f889828a016200045a565b965050602087015167ffffffffffffffff8111156200051657600080fd5b6200052489828a016200045a565b95505060406200053789828a016200049e565b94505060606200054a89828a0162000487565b93505060806200055d89828a0162000443565b92505060a06200057089828a0162000487565b9150509295509295509295565b620005888162000894565b82525050565b6000602082019050620005a560008301846200057d565b92915050565b6000620005b7620005ca565b9050620005c5828262000917565b919050565b6000604051905090565b600067ffffffffffffffff821115620005f257620005f1620009ab565b5b620005fd82620009da565b9050602081019050919050565b6000620006178262000894565b9150620006248362000894565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200065c576200065b6200094d565b5b828201905092915050565b6000808291508390505b6001851115620006b9578086048111156200069157620006906200094d565b5b6001851615620006a15780820291505b8081029050620006b185620009eb565b945062000671565b94509492505050565b6000620006cf8262000894565b9150620006dc836200089e565b92506200070b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000713565b905092915050565b600082620007255760019050620007f8565b81620007355760009050620007f8565b81600181146200074e576002811462000759576200078f565b6001915050620007f8565b60ff8411156200076e576200076d6200094d565b5b8360020a9150848211156200078857620007876200094d565b5b50620007f8565b5060208310610133831016604e8410600b8410161715620007c95782820a905083811115620007c357620007c26200094d565b5b620007f8565b620007d8848484600162000667565b92509050818404811115620007f257620007f16200094d565b5b81810290505b9392505050565b60006200080c8262000894565b9150620008198362000894565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200085557620008546200094d565b5b828202905092915050565b60006200086d8262000874565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015620008cb578082015181840152602081019050620008ae565b83811115620008db576000848401525b50505050565b60006002820490506001821680620008fa57607f821691505b602082108114156200091157620009106200097c565b5b50919050565b6200092282620009da565b810181811067ffffffffffffffff82111715620009445762000943620009ab565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b62000a038162000860565b811462000a0f57600080fd5b50565b62000a1d8162000894565b811462000a2957600080fd5b50565b62000a37816200089e565b811462000a4357600080fd5b50565b6116b38062000a566000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d71461024f578063a9059cbb1461027f578063dd62ed3e146102af578063f2fde38b146102df576100ea565b8063715018a6146102095780638da5cb5b1461021357806395d89b4114610231576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f76102fb565b6040516101049190611175565b60405180910390f35b61012760048036038101906101229190610fbc565b61038d565b604051610134919061115a565b60405180910390f35b6101456103ab565b6040516101529190611257565b60405180910390f35b61017560048036038101906101709190610f6d565b6103b5565b604051610182919061115a565b60405180910390f35b61019361048e565b6040516101a09190611272565b60405180910390f35b6101c360048036038101906101be9190610fbc565b6104a5565b6040516101d0919061115a565b60405180910390f35b6101f360048036038101906101ee9190610f08565b610558565b6040516102009190611257565b60405180910390f35b6102116105a1565b005b61021b610629565b604051610228919061113f565b60405180910390f35b610239610652565b6040516102469190611175565b60405180910390f35b61026960048036038101906102649190610fbc565b6106e4565b604051610276919061115a565b60405180910390f35b61029960048036038101906102949190610fbc565b6107b1565b6040516102a6919061115a565b60405180910390f35b6102c960048036038101906102c49190610f31565b6107cf565b6040516102d69190611257565b60405180910390f35b6102f960048036038101906102f49190610f08565b610856565b005b60606003805461030a90611387565b80601f016020809104026020016040519081016040528092919081815260200182805461033690611387565b80156103835780601f1061035857610100808354040283529160200191610383565b820191906000526020600020905b81548152906001019060200180831161036657829003601f168201915b5050505050905090565b60006103a161039a610964565b848461096c565b6001905092915050565b6000600654905090565b60006103c2848484610b37565b610483846103ce610964565b61047e8560405180606001604052806028815260200161163160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610434610964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc59092919063ffffffff16565b61096c565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600061054e6104b2610964565b8461054985600260006104c3610964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461094e90919063ffffffff16565b61096c565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105a9610964565b73ffffffffffffffffffffffffffffffffffffffff166105c7610629565b73ffffffffffffffffffffffffffffffffffffffff161461061d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610614906111f7565b60405180910390fd5b6106276000610e1a565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461066190611387565b80601f016020809104026020016040519081016040528092919081815260200182805461068d90611387565b80156106da5780601f106106af576101008083540402835291602001916106da565b820191906000526020600020905b8154815290600101906020018083116106bd57829003601f168201915b5050505050905090565b60006107a76106f1610964565b846107a285604051806060016040528060258152602001611659602591396002600061071b610964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc59092919063ffffffff16565b61096c565b6001905092915050565b60006107c56107be610964565b8484610b37565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61085e610964565b73ffffffffffffffffffffffffffffffffffffffff1661087c610629565b73ffffffffffffffffffffffffffffffffffffffff16146108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c9906111f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610939906111b7565b60405180910390fd5b61094b81610e1a565b50565b6000818361095c91906112a9565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d390611237565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a43906111d7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b2a9190611257565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9e90611217565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0e90611197565b60405180910390fd5b610c838160405180606001604052806026815260200161160b60269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc59092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d1881600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461094e90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610db89190611257565b60405180910390a3505050565b6000838311158290610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e049190611175565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081359050610eed816115dc565b92915050565b600081359050610f02816115f3565b92915050565b600060208284031215610f1a57600080fd5b6000610f2884828501610ede565b91505092915050565b60008060408385031215610f4457600080fd5b6000610f5285828601610ede565b9250506020610f6385828601610ede565b9150509250929050565b600080600060608486031215610f8257600080fd5b6000610f9086828701610ede565b9350506020610fa186828701610ede565b9250506040610fb286828701610ef3565b9150509250925092565b60008060408385031215610fcf57600080fd5b6000610fdd85828601610ede565b9250506020610fee85828601610ef3565b9150509250929050565b611001816112ff565b82525050565b61101081611311565b82525050565b60006110218261128d565b61102b8185611298565b935061103b818560208601611354565b61104481611417565b840191505092915050565b600061105c602383611298565b915061106782611428565b604082019050919050565b600061107f602683611298565b915061108a82611477565b604082019050919050565b60006110a2602283611298565b91506110ad826114c6565b604082019050919050565b60006110c5602083611298565b91506110d082611515565b602082019050919050565b60006110e8602583611298565b91506110f38261153e565b604082019050919050565b600061110b602483611298565b91506111168261158d565b604082019050919050565b61112a8161133d565b82525050565b61113981611347565b82525050565b60006020820190506111546000830184610ff8565b92915050565b600060208201905061116f6000830184611007565b92915050565b6000602082019050818103600083015261118f8184611016565b905092915050565b600060208201905081810360008301526111b08161104f565b9050919050565b600060208201905081810360008301526111d081611072565b9050919050565b600060208201905081810360008301526111f081611095565b9050919050565b60006020820190508181036000830152611210816110b8565b9050919050565b60006020820190508181036000830152611230816110db565b9050919050565b60006020820190508181036000830152611250816110fe565b9050919050565b600060208201905061126c6000830184611121565b92915050565b60006020820190506112876000830184611130565b92915050565b600081519050919050565b600082825260208201905092915050565b60006112b48261133d565b91506112bf8361133d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156112f4576112f36113b9565b5b828201905092915050565b600061130a8261131d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611372578082015181840152602081019050611357565b83811115611381576000848401525b50505050565b6000600282049050600182168061139f57607f821691505b602082108114156113b3576113b26113e8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6115e5816112ff565b81146115f057600080fd5b50565b6115fc8161133d565b811461160757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208e562c97b56ab356e76c6b7a4b24b908ced332e1607c8420a8563d656aa511e664736f6c6343000804003300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000002540be4000000000000000000000000006dea486c6d8dc9625d198ef5ea6910c6b538906e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046b6d6b6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046b6d6b6d00000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d71461024f578063a9059cbb1461027f578063dd62ed3e146102af578063f2fde38b146102df576100ea565b8063715018a6146102095780638da5cb5b1461021357806395d89b4114610231576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f76102fb565b6040516101049190611175565b60405180910390f35b61012760048036038101906101229190610fbc565b61038d565b604051610134919061115a565b60405180910390f35b6101456103ab565b6040516101529190611257565b60405180910390f35b61017560048036038101906101709190610f6d565b6103b5565b604051610182919061115a565b60405180910390f35b61019361048e565b6040516101a09190611272565b60405180910390f35b6101c360048036038101906101be9190610fbc565b6104a5565b6040516101d0919061115a565b60405180910390f35b6101f360048036038101906101ee9190610f08565b610558565b6040516102009190611257565b60405180910390f35b6102116105a1565b005b61021b610629565b604051610228919061113f565b60405180910390f35b610239610652565b6040516102469190611175565b60405180910390f35b61026960048036038101906102649190610fbc565b6106e4565b604051610276919061115a565b60405180910390f35b61029960048036038101906102949190610fbc565b6107b1565b6040516102a6919061115a565b60405180910390f35b6102c960048036038101906102c49190610f31565b6107cf565b6040516102d69190611257565b60405180910390f35b6102f960048036038101906102f49190610f08565b610856565b005b60606003805461030a90611387565b80601f016020809104026020016040519081016040528092919081815260200182805461033690611387565b80156103835780601f1061035857610100808354040283529160200191610383565b820191906000526020600020905b81548152906001019060200180831161036657829003601f168201915b5050505050905090565b60006103a161039a610964565b848461096c565b6001905092915050565b6000600654905090565b60006103c2848484610b37565b610483846103ce610964565b61047e8560405180606001604052806028815260200161163160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610434610964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc59092919063ffffffff16565b61096c565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600061054e6104b2610964565b8461054985600260006104c3610964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461094e90919063ffffffff16565b61096c565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105a9610964565b73ffffffffffffffffffffffffffffffffffffffff166105c7610629565b73ffffffffffffffffffffffffffffffffffffffff161461061d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610614906111f7565b60405180910390fd5b6106276000610e1a565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461066190611387565b80601f016020809104026020016040519081016040528092919081815260200182805461068d90611387565b80156106da5780601f106106af576101008083540402835291602001916106da565b820191906000526020600020905b8154815290600101906020018083116106bd57829003601f168201915b5050505050905090565b60006107a76106f1610964565b846107a285604051806060016040528060258152602001611659602591396002600061071b610964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc59092919063ffffffff16565b61096c565b6001905092915050565b60006107c56107be610964565b8484610b37565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61085e610964565b73ffffffffffffffffffffffffffffffffffffffff1661087c610629565b73ffffffffffffffffffffffffffffffffffffffff16146108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c9906111f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610939906111b7565b60405180910390fd5b61094b81610e1a565b50565b6000818361095c91906112a9565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d390611237565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a43906111d7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b2a9190611257565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9e90611217565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0e90611197565b60405180910390fd5b610c838160405180606001604052806026815260200161160b60269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc59092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d1881600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461094e90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610db89190611257565b60405180910390a3505050565b6000838311158290610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e049190611175565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081359050610eed816115dc565b92915050565b600081359050610f02816115f3565b92915050565b600060208284031215610f1a57600080fd5b6000610f2884828501610ede565b91505092915050565b60008060408385031215610f4457600080fd5b6000610f5285828601610ede565b9250506020610f6385828601610ede565b9150509250929050565b600080600060608486031215610f8257600080fd5b6000610f9086828701610ede565b9350506020610fa186828701610ede565b9250506040610fb286828701610ef3565b9150509250925092565b60008060408385031215610fcf57600080fd5b6000610fdd85828601610ede565b9250506020610fee85828601610ef3565b9150509250929050565b611001816112ff565b82525050565b61101081611311565b82525050565b60006110218261128d565b61102b8185611298565b935061103b818560208601611354565b61104481611417565b840191505092915050565b600061105c602383611298565b915061106782611428565b604082019050919050565b600061107f602683611298565b915061108a82611477565b604082019050919050565b60006110a2602283611298565b91506110ad826114c6565b604082019050919050565b60006110c5602083611298565b91506110d082611515565b602082019050919050565b60006110e8602583611298565b91506110f38261153e565b604082019050919050565b600061110b602483611298565b91506111168261158d565b604082019050919050565b61112a8161133d565b82525050565b61113981611347565b82525050565b60006020820190506111546000830184610ff8565b92915050565b600060208201905061116f6000830184611007565b92915050565b6000602082019050818103600083015261118f8184611016565b905092915050565b600060208201905081810360008301526111b08161104f565b9050919050565b600060208201905081810360008301526111d081611072565b9050919050565b600060208201905081810360008301526111f081611095565b9050919050565b60006020820190508181036000830152611210816110b8565b9050919050565b60006020820190508181036000830152611230816110db565b9050919050565b60006020820190508181036000830152611250816110fe565b9050919050565b600060208201905061126c6000830184611121565b92915050565b60006020820190506112876000830184611130565b92915050565b600081519050919050565b600082825260208201905092915050565b60006112b48261133d565b91506112bf8361133d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156112f4576112f36113b9565b5b828201905092915050565b600061130a8261131d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611372578082015181840152602081019050611357565b83811115611381576000848401525b50505050565b6000600282049050600182168061139f57607f821691505b602082108114156113b3576113b26113e8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6115e5816112ff565b81146115f057600080fd5b50565b6115fc8161133d565b811461160757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208e562c97b56ab356e76c6b7a4b24b908ced332e1607c8420a8563d656aa511e664736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000002540be4000000000000000000000000006dea486c6d8dc9625d198ef5ea6910c6b538906e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046b6d6b6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046b6d6b6d00000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): kmkm
Arg [1] : symbol_ (string): kmkm
Arg [2] : decimals_ (uint8): 18
Arg [3] : totalSupply_ (uint256): 10000000000
Arg [4] : serviceFeeReceiver_ (address): 0x6Dea486C6D8dC9625d198EF5ea6910C6b538906e
Arg [5] : serviceFee_ (uint256): 0
-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000000000000000000002540be400
Arg [4] : 0000000000000000000000006dea486c6d8dc9625d198ef5ea6910c6b538906e
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 6b6d6b6d00000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [9] : 6b6d6b6d00000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
13326:7850:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14270:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16557:210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15369:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17249:454;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15213:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18112:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15540:177;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5506:94;;;:::i;:::-;;4855:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14480:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18915:400;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15930:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16209:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5755:229;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14270:91;14315:13;14348:5;14341:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14270:91;:::o;16557:210::-;16676:4;16698:39;16707:12;:10;:12::i;:::-;16721:7;16730:6;16698:8;:39::i;:::-;16755:4;16748:11;;16557:210;;;;:::o;15369:108::-;15430:7;15457:12;;15450:19;;15369:108;:::o;17249:454::-;17389:4;17406:36;17416:6;17424:9;17435:6;17406:9;:36::i;:::-;17453:220;17476:6;17497:12;:10;:12::i;:::-;17524:138;17580:6;17524:138;;;;;;;;;;;;;;;;;:11;:19;17536:6;17524:19;;;;;;;;;;;;;;;:33;17544:12;:10;:12::i;:::-;17524:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;17453:8;:220::i;:::-;17691:4;17684:11;;17249:454;;;;;:::o;15213:91::-;15262:5;15287:9;;;;;;;;;;;15280:16;;15213:91;:::o;18112:300::-;18227:4;18249:133;18272:12;:10;:12::i;:::-;18299:7;18321:50;18360:10;18321:11;:25;18333:12;:10;:12::i;:::-;18321:25;;;;;;;;;;;;;;;:34;18347:7;18321:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18249:8;:133::i;:::-;18400:4;18393:11;;18112:300;;;;:::o;15540:177::-;15659:7;15691:9;:18;15701:7;15691:18;;;;;;;;;;;;;;;;15684:25;;15540:177;;;:::o;5506:94::-;5086:12;:10;:12::i;:::-;5075:23;;:7;:5;:7::i;:::-;:23;;;5067:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5571:21:::1;5589:1;5571:9;:21::i;:::-;5506:94::o:0;4855:87::-;4901:7;4928:6;;;;;;;;;;;4921:13;;4855:87;:::o;14480:95::-;14527:13;14560:7;14553:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14480:95;:::o;18915:400::-;19035:4;19057:228;19080:12;:10;:12::i;:::-;19107:7;19129:145;19186:15;19129:145;;;;;;;;;;;;;;;;;:11;:25;19141:12;:10;:12::i;:::-;19129:25;;;;;;;;;;;;;;;:34;19155:7;19129:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;19057:8;:228::i;:::-;19303:4;19296:11;;18915:400;;;;:::o;15930:216::-;16052:4;16074:42;16084:12;:10;:12::i;:::-;16098:9;16109:6;16074:9;:42::i;:::-;16134:4;16127:11;;15930:216;;;;:::o;16209:201::-;16343:7;16375:11;:18;16387:5;16375:18;;;;;;;;;;;;;;;:27;16394:7;16375:27;;;;;;;;;;;;;;;;16368:34;;16209:201;;;;:::o;5755:229::-;5086:12;:10;:12::i;:::-;5075:23;;:7;:5;:7::i;:::-;:23;;;5067:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5878:1:::1;5858:22;;:8;:22;;;;5836:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;5957:19;5967:8;5957:9;:19::i;:::-;5755:229:::0;:::o;9134:98::-;9192:7;9223:1;9219;:5;;;;:::i;:::-;9212:12;;9134:98;;;;:::o;3552:::-;3605:7;3632:10;3625:17;;3552:98;:::o;20793:380::-;20946:1;20929:19;;:5;:19;;;;20921:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21027:1;21008:21;;:7;:21;;;;21000:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21111:6;21081:11;:18;21093:5;21081:18;;;;;;;;;;;;;;;:27;21100:7;21081:27;;;;;;;;;;;;;;;:36;;;;21149:7;21133:32;;21142:5;21133:32;;;21158:6;21133:32;;;;;;:::i;:::-;;;;;;;;20793:380;;;:::o;19805:550::-;19963:1;19945:20;;:6;:20;;;;19937:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;20047:1;20026:23;;:9;:23;;;;20018:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;20122:108;20158:6;20122:108;;;;;;;;;;;;;;;;;:9;:17;20132:6;20122:17;;;;;;;;;;;;;;;;:21;;:108;;;;;:::i;:::-;20102:9;:17;20112:6;20102:17;;;;;;;;;;;;;;;:128;;;;20264:32;20289:6;20264:9;:20;20274:9;20264:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;20241:9;:20;20251:9;20241:20;;;;;;;;;;;;;;;:55;;;;20329:9;20312:35;;20321:6;20312:35;;;20340:6;20312:35;;;;;;:::i;:::-;;;;;;;;19805:550;;;:::o;11413:240::-;11533:7;11591:1;11586;:6;;11594:12;11578:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;11633:1;11629;:5;11622:12;;11413:240;;;;;:::o;5992:173::-;6048:16;6067:6;;;;;;;;;;;6048:25;;6093:8;6084:6;;:17;;;;;;;;;;;;;;;;;;6148:8;6117:40;;6138:8;6117:40;;;;;;;;;;;;5992:173;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;1055:6;1063;1071;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;1604:6;1612;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:118::-;2036:24;2054:5;2036:24;:::i;:::-;2031:3;2024:37;2014:53;;:::o;2073:109::-;2154:21;2169:5;2154:21;:::i;:::-;2149:3;2142:34;2132:50;;:::o;2188:364::-;2276:3;2304:39;2337:5;2304:39;:::i;:::-;2359:71;2423:6;2418:3;2359:71;:::i;:::-;2352:78;;2439:52;2484:6;2479:3;2472:4;2465:5;2461:16;2439:52;:::i;:::-;2516:29;2538:6;2516:29;:::i;:::-;2511:3;2507:39;2500:46;;2280:272;;;;;:::o;2558:366::-;2700:3;2721:67;2785:2;2780:3;2721:67;:::i;:::-;2714:74;;2797:93;2886:3;2797:93;:::i;:::-;2915:2;2910:3;2906:12;2899:19;;2704:220;;;:::o;2930:366::-;3072:3;3093:67;3157:2;3152:3;3093:67;:::i;:::-;3086:74;;3169:93;3258:3;3169:93;:::i;:::-;3287:2;3282:3;3278:12;3271:19;;3076:220;;;:::o;3302:366::-;3444:3;3465:67;3529:2;3524:3;3465:67;:::i;:::-;3458:74;;3541:93;3630:3;3541:93;:::i;:::-;3659:2;3654:3;3650:12;3643:19;;3448:220;;;:::o;3674:366::-;3816:3;3837:67;3901:2;3896:3;3837:67;:::i;:::-;3830:74;;3913:93;4002:3;3913:93;:::i;:::-;4031:2;4026:3;4022:12;4015:19;;3820:220;;;:::o;4046:366::-;4188:3;4209:67;4273:2;4268:3;4209:67;:::i;:::-;4202:74;;4285:93;4374:3;4285:93;:::i;:::-;4403:2;4398:3;4394:12;4387:19;;4192:220;;;:::o;4418:366::-;4560:3;4581:67;4645:2;4640:3;4581:67;:::i;:::-;4574:74;;4657:93;4746:3;4657:93;:::i;:::-;4775:2;4770:3;4766:12;4759:19;;4564:220;;;:::o;4790:118::-;4877:24;4895:5;4877:24;:::i;:::-;4872:3;4865:37;4855:53;;:::o;4914:112::-;4997:22;5013:5;4997:22;:::i;:::-;4992:3;4985:35;4975:51;;:::o;5032:222::-;5125:4;5163:2;5152:9;5148:18;5140:26;;5176:71;5244:1;5233:9;5229:17;5220:6;5176:71;:::i;:::-;5130:124;;;;:::o;5260:210::-;5347:4;5385:2;5374:9;5370:18;5362:26;;5398:65;5460:1;5449:9;5445:17;5436:6;5398:65;:::i;:::-;5352:118;;;;:::o;5476:313::-;5589:4;5627:2;5616:9;5612:18;5604:26;;5676:9;5670:4;5666:20;5662:1;5651:9;5647:17;5640:47;5704:78;5777:4;5768:6;5704:78;:::i;:::-;5696:86;;5594:195;;;;:::o;5795:419::-;5961:4;5999:2;5988:9;5984:18;5976:26;;6048:9;6042:4;6038:20;6034:1;6023:9;6019:17;6012:47;6076:131;6202:4;6076:131;:::i;:::-;6068:139;;5966:248;;;:::o;6220:419::-;6386:4;6424:2;6413:9;6409:18;6401:26;;6473:9;6467:4;6463:20;6459:1;6448:9;6444:17;6437:47;6501:131;6627:4;6501:131;:::i;:::-;6493:139;;6391:248;;;:::o;6645:419::-;6811:4;6849:2;6838:9;6834:18;6826:26;;6898:9;6892:4;6888:20;6884:1;6873:9;6869:17;6862:47;6926:131;7052:4;6926:131;:::i;:::-;6918:139;;6816:248;;;:::o;7070:419::-;7236:4;7274:2;7263:9;7259:18;7251:26;;7323:9;7317:4;7313:20;7309:1;7298:9;7294:17;7287:47;7351:131;7477:4;7351:131;:::i;:::-;7343:139;;7241:248;;;:::o;7495:419::-;7661:4;7699:2;7688:9;7684:18;7676:26;;7748:9;7742:4;7738:20;7734:1;7723:9;7719:17;7712:47;7776:131;7902:4;7776:131;:::i;:::-;7768:139;;7666:248;;;:::o;7920:419::-;8086:4;8124:2;8113:9;8109:18;8101:26;;8173:9;8167:4;8163:20;8159:1;8148:9;8144:17;8137:47;8201:131;8327:4;8201:131;:::i;:::-;8193:139;;8091:248;;;:::o;8345:222::-;8438:4;8476:2;8465:9;8461:18;8453:26;;8489:71;8557:1;8546:9;8542:17;8533:6;8489:71;:::i;:::-;8443:124;;;;:::o;8573:214::-;8662:4;8700:2;8689:9;8685:18;8677:26;;8713:67;8777:1;8766:9;8762:17;8753:6;8713:67;:::i;:::-;8667:120;;;;:::o;8793:99::-;8845:6;8879:5;8873:12;8863:22;;8852:40;;;:::o;8898:169::-;8982:11;9016:6;9011:3;9004:19;9056:4;9051:3;9047:14;9032:29;;8994:73;;;;:::o;9073:305::-;9113:3;9132:20;9150:1;9132:20;:::i;:::-;9127:25;;9166:20;9184:1;9166:20;:::i;:::-;9161:25;;9320:1;9252:66;9248:74;9245:1;9242:81;9239:2;;;9326:18;;:::i;:::-;9239:2;9370:1;9367;9363:9;9356:16;;9117:261;;;;:::o;9384:96::-;9421:7;9450:24;9468:5;9450:24;:::i;:::-;9439:35;;9429:51;;;:::o;9486:90::-;9520:7;9563:5;9556:13;9549:21;9538:32;;9528:48;;;:::o;9582:126::-;9619:7;9659:42;9652:5;9648:54;9637:65;;9627:81;;;:::o;9714:77::-;9751:7;9780:5;9769:16;;9759:32;;;:::o;9797:86::-;9832:7;9872:4;9865:5;9861:16;9850:27;;9840:43;;;:::o;9889:307::-;9957:1;9967:113;9981:6;9978:1;9975:13;9967:113;;;10066:1;10061:3;10057:11;10051:18;10047:1;10042:3;10038:11;10031:39;10003:2;10000:1;9996:10;9991:15;;9967:113;;;10098:6;10095:1;10092:13;10089:2;;;10178:1;10169:6;10164:3;10160:16;10153:27;10089:2;9938:258;;;;:::o;10202:320::-;10246:6;10283:1;10277:4;10273:12;10263:22;;10330:1;10324:4;10320:12;10351:18;10341:2;;10407:4;10399:6;10395:17;10385:27;;10341:2;10469;10461:6;10458:14;10438:18;10435:38;10432:2;;;10488:18;;:::i;:::-;10432:2;10253:269;;;;:::o;10528:180::-;10576:77;10573:1;10566:88;10673:4;10670:1;10663:15;10697:4;10694:1;10687:15;10714:180;10762:77;10759:1;10752:88;10859:4;10856:1;10849:15;10883:4;10880:1;10873:15;10900:102;10941:6;10992:2;10988:7;10983:2;10976:5;10972:14;10968:28;10958:38;;10948:54;;;:::o;11008:222::-;11148:34;11144:1;11136:6;11132:14;11125:58;11217:5;11212:2;11204:6;11200:15;11193:30;11114:116;:::o;11236:225::-;11376:34;11372:1;11364:6;11360:14;11353:58;11445:8;11440:2;11432:6;11428:15;11421:33;11342:119;:::o;11467:221::-;11607:34;11603:1;11595:6;11591:14;11584:58;11676:4;11671:2;11663:6;11659:15;11652:29;11573:115;:::o;11694:182::-;11834:34;11830:1;11822:6;11818:14;11811:58;11800:76;:::o;11882:224::-;12022:34;12018:1;12010:6;12006:14;11999:58;12091:7;12086:2;12078:6;12074:15;12067:32;11988:118;:::o;12112:223::-;12252:34;12248:1;12240:6;12236:14;12229:58;12321:6;12316:2;12308:6;12304:15;12297:31;12218:117;:::o;12341:122::-;12414:24;12432:5;12414:24;:::i;:::-;12407:5;12404:35;12394:2;;12453:1;12450;12443:12;12394:2;12384:79;:::o;12469:122::-;12542:24;12560:5;12542:24;:::i;:::-;12535:5;12532:35;12522:2;;12581:1;12578;12571:12;12522:2;12512:79;:::o
Swarm Source
ipfs://8e562c97b56ab356e76c6b7a4b24b908ced332e1607c8420a8563d656aa511e6
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.