Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,900,000,000 PEACE
Holders
1,372
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ERC20
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-01-06 */ // SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.0; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } abstract contract Context { function _msgSender() internal virtual view returns (address payable) { return msg.sender; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } 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; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by 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; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /** * @dev Implementation of the {IERC20} interface. */ contract ERC20 is Context, IERC20 { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; //mapping for tracking locked balance mapping(address => uint256) private _lockers; //mapping for release time mapping(address => uint256) private _timers; //mapping for new Addresses and balance shift (teleportation) mapping(address => mapping(string => uint256)) private _teleportScroll; uint256 private _totalSupply; address private _owner; string private _name; string private _symbol; uint8 private _decimals; address private _lockerAccount; address private _teleportSafe; uint256 private _teleportTime; event ReleaseTime(address indexed account, uint256 value); event lockedBalance(address indexed account, uint256 value); event Released(address indexed account, uint256 value); event Globals(address indexed account, uint256 value); event teleportation(address indexed account, string newaccount, uint256 shiftBalance); /** * @dev Sets the values for {name} and {symbol}, initializes {decimals} with * a default value of 18. * * All three of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_, uint256 initialSupply_) { _name = name_; _symbol = symbol_; _decimals = 18; _owner = _msgSender(); _mint(msg.sender, initialSupply_); } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } modifier locked() { require(_lockerAccount == _msgSender(), "Locked: caller is not the lockerAccount"); _; } /** * @dev Returns the address of the current owner. */ function getOwner() public view returns (address) { return _owner; } /** * @dev Returns the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses. */ function decimals() public view returns (uint8) { return _decimals; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public override view returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public override view 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 virtual override view 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. * * 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. * * 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); } function burn(uint256 amount) public virtual { _burn(_msgSender(), amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual onlyOwner { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply = _totalSupply.add(amount * 10 ** _decimals); _balances[account] = _balances[account].add(amount * 10 ** _decimals); emit Transfer(address(0), account, amount * 10 ** _decimals); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve` * 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); } /** * Implementation for locking asset of account for given time aka Escrow * starts */ /** * @dev Owner can set the lockerAccount where balances are locked. */ function setLockerAccount(address _account) public onlyOwner returns (bool) { require(_msgSender() != address(0), "setLockerAccount: Executor account cannot be zero address"); require(_account != address(0), "setLockerAccount: Locker Account cannot be zero address"); _lockerAccount = _account; return true; } /** * @dev Returns the lockerAccount(used to lock all balances) set by owner. */ function getLockerAccount() public view returns (address) { return _lockerAccount; } /** * @dev Set release time for locked balance of an account. Must be set before locking balance. */ function setReleaseTime(address _account, uint _timestamp) public onlyOwner returns (uint256) { require(_msgSender() != address(0), "setTimeStamp: Executor account cannot be zero address"); require(_account != address(0), "setTimeStamp: Cannot set timestamp for zero address"); require(_timestamp > block.timestamp, "TokenTimelock: release time cannot be set in past"); _timers[_account] = _timestamp; emit ReleaseTime(_account, _timestamp); return _timers[_account]; } /** * @dev Returns the releaseTime(for locked balance) of the given address. */ function getReleaseTime(address _account) public view returns (uint256) { return _timers[_account]; } /** * @dev lock balance after owner has set the release timer */ function lockBalance(uint256 amount) public returns(bool){ require(_msgSender() != _lockerAccount, "lockBalance: Cannot lock Balance of self"); require(_lockerAccount != address(0), "lockBalance: Locker Account is not set by owner"); require(amount > 0, "lockBalance: Must lock positive amount"); require(_timers[_msgSender()] != 0, "lockBalance: Release Time is not set by owner. Release Time must be set before locking balance"); require(_lockers[_msgSender()] == 0, "lockBalance: Release previously locked balance first"); _transfer(_msgSender(), _lockerAccount, amount); _lockers[_msgSender()] = amount; emit lockedBalance(_msgSender(), amount); return true; } /** * @dev Returns the releaseTime(for locked balance) of the current sender. */ function getLockedAmount() public view returns (uint256) { return _lockers[_msgSender()]; } function release(address _account) public locked returns (bool) { require(_lockerAccount != address(0), "release: Locker Account is not set by owner"); require(_account != address(0), "release: Cannot release balance for zero address"); require(block.timestamp >= _timers[_account], "Timelock: current time is before release time"); require(_lockers[_account] > 0, "release: No amount is locked against this account. +ve amount must be locked"); _transfer(_msgSender(), _account, _lockers[_account]); _lockers[_account] = 0; emit Released(_account, _lockers[_msgSender()]); return true; } /** * Implementation for Escrow Ends * */ /** * Implementation for teleportation * starts */ /** * @dev Set shifter globals. */ function setGlobals(address _account, uint _timestamp) public onlyOwner returns (bool) { require(_msgSender() != address(0), "Executor account cannot be zero address"); require(_account != address(0), "Zero address"); require(_timestamp > block.timestamp, "Timestamp cannot be set in past"); _setGlobsInternal(_account, _timestamp); return true; } function _setGlobsInternal(address _account, uint _time) private returns (bool) { require(_msgSender() != address(0), "Executor account cannot be zero address"); require(_account != address(0), "Zero Address"); require(_time > block.timestamp, "Reserruction time cannot be set in past"); _teleportSafe = _account; _teleportTime = _time; emit Globals(_account, _time); return true; } function teleport(string memory _newAddress) public returns(bool) { require(_msgSender() != _teleportSafe, "Teleport: TeleportSafe cannot transfer to self"); require(_teleportSafe != address(0), "Teleport: TeleportSafe Account is not set by owner"); require(_balances[_msgSender()] > 0, "Teleport: Must transfer +ve amount"); require(block.timestamp > _teleportTime , "Teleport: It is not time yet"); uint256 shiftAmount = _balances[_msgSender()]; // _transfer(_msgSender(), _teleportSafe, _balances[_msgSender()]); _teleportScroll[_msgSender()][_newAddress] = shiftAmount; emit teleportation(_msgSender(), _newAddress, shiftAmount);//emit balance shiftAmount return true; } /** * @dev Returns the amount(also the balance) of the given address which will be shifted to newAddress after teleportation. */ function checkshiftAmount(string memory _newAddress) public view returns (uint256) { return _teleportScroll[_msgSender()][_newAddress]; } // After teleportation completed function resurrection(address payable _new) public onlyOwner { require(_teleportTime != 0 , "Teleportation time is not set"); require(block.timestamp > _teleportTime , "It is not time yet"); selfdestruct(_new); } /** * Implementation for teleportation * Ends */ }
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":"uint256","name":"initialSupply_","type":"uint256"}],"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":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Globals","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ReleaseTime","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Released","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"lockedBalance","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"string","name":"newaccount","type":"string"},{"indexed":false,"internalType":"uint256","name":"shiftBalance","type":"uint256"}],"name":"teleportation","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newAddress","type":"string"}],"name":"checkshiftAmount","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":[],"name":"getLockedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLockerAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"getReleaseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"uint256","name":"amount","type":"uint256"}],"name":"lockBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"release","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_new","type":"address"}],"name":"resurrection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"setGlobals","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"setLockerAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"setReleaseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_newAddress","type":"string"}],"name":"teleport","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162003d3a38038062003d3a833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b838201915060208201858111156200012c57600080fd5b82518660018202830111640100000000821117156200014a57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018057808201518184015260208101905062000163565b50505050905090810190601f168015620001ae5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508260079080519060200190620001da929190620005ee565b508160089080519060200190620001f3929190620005ee565b506012600960006101000a81548160ff021916908360ff160217905550620002206200027b60201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200027233826200028360201b60201c565b505050620006a4565b600033905090565b620002936200027b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000356576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620003fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6200042d600960009054906101000a900460ff1660ff16600a0a82026005546200056560201b620027011790919060201c565b600581905550620004a2600960009054906101000a900460ff1660ff16600a0a82026000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200056560201b620027011790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600960009054906101000a900460ff1660ff16600a0a84026040518082815260200191505060405180910390a35050565b600080828401905083811015620005e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928262000626576000855562000672565b82601f106200064157805160ff191683800117855562000672565b8280016001018555821562000672579182015b828111156200067157825182559160200191906001019062000654565b5b50905062000681919062000685565b5090565b5b80821115620006a057600081600090555060010162000686565b5090565b61368680620006b46000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063c60977431161007c578063c6097743146107a7578063dd62ed3e1461080b578063e11ab45614610883578063f339c504146108c7578063f5b970951461090b578063f859c72b146109da57610158565b806370a08231146104ff5780637125493b14610557578063893d20e81461062857806395d89b411461065c578063a457c2d7146106df578063a9059cbb1461074357610158565b8063252bc88611610115578063252bc88614610398578063313ce567146103b657806339509351146103d757806342966c681461043b578063476fe91914610469578063495160a8146104cb57610158565b806306fdde031461015d578063095ea7b3146101e05780630cb7eb4c1461024457806318160ddd1461029c57806319165587146102ba57806323b872dd14610314575b600080fd5b610165610a34565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a557808201518184015260208101905061018a565b50505050905090810190601f1680156101d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022c600480360360408110156101f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ad6565b60405180821515815260200191505060405180910390f35b6102866004803603602081101561025a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610af4565b6040518082815260200191505060405180910390f35b6102a4610b3d565b6040518082815260200191505060405180910390f35b6102fc600480360360208110156102d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b47565b60405180821515815260200191505060405180910390f35b6103806004803603606081101561032a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f87565b60405180821515815260200191505060405180910390f35b6103a0611060565b6040518082815260200191505060405180910390f35b6103be6110ae565b604051808260ff16815260200191505060405180910390f35b610423600480360360408110156103ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110c5565b60405180821515815260200191505060405180910390f35b6104676004803603602081101561045157600080fd5b8101908080359060200190929190505050611178565b005b6104b56004803603604081101561047f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061118c565b6040518082815260200191505060405180910390f35b6104d361149d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105416004803603602081101561051557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114c7565b6040518082815260200191505060405180910390f35b6106106004803603602081101561056d57600080fd5b810190808035906020019064010000000081111561058a57600080fd5b82018360208201111561059c57600080fd5b803590602001918460018302840111640100000000831117156105be57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061150f565b60405180821515815260200191505060405180910390f35b6106306119bd565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106646119e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a4578082015181840152602081019050610689565b50505050905090810190601f1680156106d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61072b600480360360408110156106f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a89565b60405180821515815260200191505060405180910390f35b61078f6004803603604081101561075957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b56565b60405180821515815260200191505060405180910390f35b6107f3600480360360408110156107bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b74565b60405180821515815260200191505060405180910390f35b61086d6004803603604081101561082157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dfa565b6040518082815260200191505060405180910390f35b6108c56004803603602081101561089957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e81565b005b6108f3600480360360208110156108dd57600080fd5b8101908080359060200190929190505050612054565b60405180821515815260200191505060405180910390f35b6109c46004803603602081101561092157600080fd5b810190808035906020019064010000000081111561093e57600080fd5b82018360208201111561095057600080fd5b8035906020019184600183028401116401000000008311171561097257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612421565b6040518082815260200191505060405180910390f35b610a1c600480360360208110156109f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124d8565b60405180821515815260200191505060405180910390f35b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610acc5780601f10610aa157610100808354040283529160200191610acc565b820191906000526020600020905b815481529060010190602001808311610aaf57829003601f168201915b5050505050905090565b6000610aea610ae3612789565b8484612791565b6001905092915050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600554905090565b6000610b51612789565b73ffffffffffffffffffffffffffffffffffffffff16600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061326d6027913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613389602b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061356f6030913960400191505060405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054421015610dbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806132e9602d913960400191505060405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610e54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604c8152602001806133d6604c913960600191505060405180910390fd5b610ea5610e5f612789565b83600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612988565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fb21fb52d5749b80f3182f8c6992236b5e5576681880914484d7f4c9b062e619e60026000610f2e612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a260019050919050565b6000610f94848484612988565b61105584610fa0612789565b6110508560405180606001604052806028815260200161347b60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611006612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e9092919063ffffffff16565b612791565b600190509392505050565b60006002600061106e612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000600960009054906101000a900460ff16905090565b600061116e6110d2612789565b8461116985600160006110e3612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270190919063ffffffff16565b612791565b6001905092915050565b611189611183612789565b82612cfe565b50565b6000611196612789565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611258576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16611278612789565b73ffffffffffffffffffffffffffffffffffffffff1614156112e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806132386035913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806132b66033913960400191505060405180910390fd5b4282116113c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806131e56031913960400191505060405180910390fd5b81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167fd7eec949aa07764dfa1f9f222a71dc3e260a8c7421f0e8f1f9f550dcf147d53d836040518082815260200191505060405180910390a2600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611552612789565b73ffffffffffffffffffffffffffffffffffffffff1614156115bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806134f8602e913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611667576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806134496032913960400191505060405180910390fd5b6000806000611674612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806133b46022913960400191505060405180910390fd5b600b54421161177c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f54656c65706f72743a204974206973206e6f742074696d65207965740000000081525060200191505060405180910390fd5b6000806000611789612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061183f6117d1612789565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806117ff612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612988565b806004600061184c612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040518082805190602001908083835b602083106118ba5780518252602082019150602081019050602083039250611897565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055506118f9612789565b73ffffffffffffffffffffffffffffffffffffffff167f03b1f926ef7b881c3ba513f4c1becf8e0383617673bfd5991e3aeb31f64f773984836040518080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561197857808201518184015260208101905061195d565b50505050905090810190601f1680156119a55780820380516001836020036101000a031916815260200191505b50935050505060405180910390a26001915050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a7f5780601f10611a5457610100808354040283529160200191611a7f565b820191906000526020600020905b815481529060010190602001808311611a6257829003601f168201915b5050505050905090565b6000611b4c611a96612789565b84611b478560405180606001604052806025815260200161362c6025913960016000611ac0612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e9092919063ffffffff16565b612791565b6001905092915050565b6000611b6a611b63612789565b8484612988565b6001905092915050565b6000611b7e612789565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16611c60612789565b73ffffffffffffffffffffffffffffffffffffffff161415611ccd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806133626027913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a65726f2061646472657373000000000000000000000000000000000000000081525060200191505060405180910390fd5b428211611de5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f54696d657374616d702063616e6e6f742062652073657420696e20706173740081525060200191505060405180910390fd5b611def8383612eb6565b506001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611e89612789565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600b541415611fc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f54656c65706f72746174696f6e2074696d65206973206e6f742073657400000081525060200191505060405180910390fd5b600b54421161203b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4974206973206e6f742074696d6520796574000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b6000600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612097612789565b73ffffffffffffffffffffffffffffffffffffffff161415612104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806131bd6028913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806135fd602f913960400191505060405180910390fd5b60008211612205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133166026913960400191505060405180910390fd5b600060036000612213612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156122a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605e81526020018061359f605e913960600191505060405180910390fd5b6000600260006122b3612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612344576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806134a36034913960400191505060405180910390fd5b61237861234f612789565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612988565b8160026000612385612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123cb612789565b73ffffffffffffffffffffffffffffffffffffffff167f2fb4f04aa26c1bb357645aeaacd9d7eab6dac90d141683716b8805b5ea0bed22836040518082815260200191505060405180910390a260019050919050565b60006004600061242f612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040518082805190602001908083835b6020831061249d578051825260208201915060208101905060208303925061247a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549050919050565b60006124e2612789565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166125c4612789565b73ffffffffffffffffffffffffffffffffffffffff161415612631576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806131846039913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603781526020018061312a6037913960400191505060405180910390fd5b81600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60008082840190508381101561277f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612817576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061354b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561289d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806132946022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612a0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806135266025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806131616023913960400191505060405180910390fd5b612aff8160405180606001604052806026815260200161333c602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b92816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290612ceb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cb0578082015181840152602081019050612c95565b50505050905090810190601f168015612cdd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134d76021913960400191505060405180910390fd5b612def81604051806060016040528060228152602001613216602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e46816005546130df90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff16612ed7612789565b73ffffffffffffffffffffffffffffffffffffffff161415612f44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806133626027913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a65726f2041646472657373000000000000000000000000000000000000000081525060200191505060405180910390fd5b42821161303f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806134226027913960400191505060405180910390fd5b82600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b819055508273ffffffffffffffffffffffffffffffffffffffff167f9baeb66b507aa115ae0d0de80e816eb42eb9ef456fe3036f15072979cbfac13d836040518082815260200191505060405180910390a26001905092915050565b600061312183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c3e565b90509291505056fe7365744c6f636b65724163636f756e743a204c6f636b6572204163636f756e742063616e6e6f74206265207a65726f206164647265737345524332303a207472616e7366657220746f20746865207a65726f20616464726573737365744c6f636b65724163636f756e743a204578656375746f72206163636f756e742063616e6e6f74206265207a65726f20616464726573736c6f636b42616c616e63653a2043616e6e6f74206c6f636b2042616c616e6365206f662073656c66546f6b656e54696d656c6f636b3a2072656c656173652074696d652063616e6e6f742062652073657420696e207061737445524332303a206275726e20616d6f756e7420657863656564732062616c616e636573657454696d655374616d703a204578656375746f72206163636f756e742063616e6e6f74206265207a65726f20616464726573734c6f636b65643a2063616c6c6572206973206e6f7420746865206c6f636b65724163636f756e7445524332303a20617070726f766520746f20746865207a65726f206164647265737373657454696d655374616d703a2043616e6e6f74207365742074696d657374616d7020666f72207a65726f206164647265737354696d656c6f636b3a2063757272656e742074696d65206973206265666f72652072656c656173652074696d656c6f636b42616c616e63653a204d757374206c6f636b20706f73697469766520616d6f756e7445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654578656375746f72206163636f756e742063616e6e6f74206265207a65726f206164647265737372656c656173653a204c6f636b6572204163636f756e74206973206e6f7420736574206279206f776e657254656c65706f72743a204d757374207472616e73666572202b766520616d6f756e7472656c656173653a204e6f20616d6f756e74206973206c6f636b656420616761696e73742074686973206163636f756e742e202b766520616d6f756e74206d757374206265206c6f636b6564526573657272756374696f6e2074696d652063616e6e6f742062652073657420696e207061737454656c65706f72743a2054656c65706f727453616665204163636f756e74206973206e6f7420736574206279206f776e657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63656c6f636b42616c616e63653a2052656c656173652070726576696f75736c79206c6f636b65642062616c616e636520666972737445524332303a206275726e2066726f6d20746865207a65726f206164647265737354656c65706f72743a2054656c65706f7274536166652063616e6e6f74207472616e7366657220746f2073656c6645524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737372656c656173653a2043616e6e6f742072656c656173652062616c616e636520666f72207a65726f20616464726573736c6f636b42616c616e63653a2052656c656173652054696d65206973206e6f7420736574206279206f776e65722e2052656c656173652054696d65206d75737420626520736574206265666f7265206c6f636b696e672062616c616e63656c6f636b42616c616e63653a204c6f636b6572204163636f756e74206973206e6f7420736574206279206f776e657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a9e7ebe6b764fbb1179f1202c77b66a59a97560d838d2d69ac5cdefebdea259a64736f6c63430007060033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000713fb30000000000000000000000000000000000000000000000000000000000000000095045414345434f494e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055045414345000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063c60977431161007c578063c6097743146107a7578063dd62ed3e1461080b578063e11ab45614610883578063f339c504146108c7578063f5b970951461090b578063f859c72b146109da57610158565b806370a08231146104ff5780637125493b14610557578063893d20e81461062857806395d89b411461065c578063a457c2d7146106df578063a9059cbb1461074357610158565b8063252bc88611610115578063252bc88614610398578063313ce567146103b657806339509351146103d757806342966c681461043b578063476fe91914610469578063495160a8146104cb57610158565b806306fdde031461015d578063095ea7b3146101e05780630cb7eb4c1461024457806318160ddd1461029c57806319165587146102ba57806323b872dd14610314575b600080fd5b610165610a34565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a557808201518184015260208101905061018a565b50505050905090810190601f1680156101d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022c600480360360408110156101f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ad6565b60405180821515815260200191505060405180910390f35b6102866004803603602081101561025a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610af4565b6040518082815260200191505060405180910390f35b6102a4610b3d565b6040518082815260200191505060405180910390f35b6102fc600480360360208110156102d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b47565b60405180821515815260200191505060405180910390f35b6103806004803603606081101561032a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f87565b60405180821515815260200191505060405180910390f35b6103a0611060565b6040518082815260200191505060405180910390f35b6103be6110ae565b604051808260ff16815260200191505060405180910390f35b610423600480360360408110156103ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110c5565b60405180821515815260200191505060405180910390f35b6104676004803603602081101561045157600080fd5b8101908080359060200190929190505050611178565b005b6104b56004803603604081101561047f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061118c565b6040518082815260200191505060405180910390f35b6104d361149d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105416004803603602081101561051557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114c7565b6040518082815260200191505060405180910390f35b6106106004803603602081101561056d57600080fd5b810190808035906020019064010000000081111561058a57600080fd5b82018360208201111561059c57600080fd5b803590602001918460018302840111640100000000831117156105be57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061150f565b60405180821515815260200191505060405180910390f35b6106306119bd565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106646119e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a4578082015181840152602081019050610689565b50505050905090810190601f1680156106d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61072b600480360360408110156106f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a89565b60405180821515815260200191505060405180910390f35b61078f6004803603604081101561075957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b56565b60405180821515815260200191505060405180910390f35b6107f3600480360360408110156107bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b74565b60405180821515815260200191505060405180910390f35b61086d6004803603604081101561082157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dfa565b6040518082815260200191505060405180910390f35b6108c56004803603602081101561089957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e81565b005b6108f3600480360360208110156108dd57600080fd5b8101908080359060200190929190505050612054565b60405180821515815260200191505060405180910390f35b6109c46004803603602081101561092157600080fd5b810190808035906020019064010000000081111561093e57600080fd5b82018360208201111561095057600080fd5b8035906020019184600183028401116401000000008311171561097257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612421565b6040518082815260200191505060405180910390f35b610a1c600480360360208110156109f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124d8565b60405180821515815260200191505060405180910390f35b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610acc5780601f10610aa157610100808354040283529160200191610acc565b820191906000526020600020905b815481529060010190602001808311610aaf57829003601f168201915b5050505050905090565b6000610aea610ae3612789565b8484612791565b6001905092915050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600554905090565b6000610b51612789565b73ffffffffffffffffffffffffffffffffffffffff16600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061326d6027913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613389602b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061356f6030913960400191505060405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054421015610dbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806132e9602d913960400191505060405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610e54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604c8152602001806133d6604c913960600191505060405180910390fd5b610ea5610e5f612789565b83600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612988565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fb21fb52d5749b80f3182f8c6992236b5e5576681880914484d7f4c9b062e619e60026000610f2e612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a260019050919050565b6000610f94848484612988565b61105584610fa0612789565b6110508560405180606001604052806028815260200161347b60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611006612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e9092919063ffffffff16565b612791565b600190509392505050565b60006002600061106e612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000600960009054906101000a900460ff16905090565b600061116e6110d2612789565b8461116985600160006110e3612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270190919063ffffffff16565b612791565b6001905092915050565b611189611183612789565b82612cfe565b50565b6000611196612789565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611258576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16611278612789565b73ffffffffffffffffffffffffffffffffffffffff1614156112e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806132386035913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806132b66033913960400191505060405180910390fd5b4282116113c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806131e56031913960400191505060405180910390fd5b81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167fd7eec949aa07764dfa1f9f222a71dc3e260a8c7421f0e8f1f9f550dcf147d53d836040518082815260200191505060405180910390a2600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611552612789565b73ffffffffffffffffffffffffffffffffffffffff1614156115bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806134f8602e913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611667576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806134496032913960400191505060405180910390fd5b6000806000611674612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806133b46022913960400191505060405180910390fd5b600b54421161177c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f54656c65706f72743a204974206973206e6f742074696d65207965740000000081525060200191505060405180910390fd5b6000806000611789612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061183f6117d1612789565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806117ff612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612988565b806004600061184c612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040518082805190602001908083835b602083106118ba5780518252602082019150602081019050602083039250611897565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055506118f9612789565b73ffffffffffffffffffffffffffffffffffffffff167f03b1f926ef7b881c3ba513f4c1becf8e0383617673bfd5991e3aeb31f64f773984836040518080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561197857808201518184015260208101905061195d565b50505050905090810190601f1680156119a55780820380516001836020036101000a031916815260200191505b50935050505060405180910390a26001915050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a7f5780601f10611a5457610100808354040283529160200191611a7f565b820191906000526020600020905b815481529060010190602001808311611a6257829003601f168201915b5050505050905090565b6000611b4c611a96612789565b84611b478560405180606001604052806025815260200161362c6025913960016000611ac0612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e9092919063ffffffff16565b612791565b6001905092915050565b6000611b6a611b63612789565b8484612988565b6001905092915050565b6000611b7e612789565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16611c60612789565b73ffffffffffffffffffffffffffffffffffffffff161415611ccd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806133626027913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a65726f2061646472657373000000000000000000000000000000000000000081525060200191505060405180910390fd5b428211611de5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f54696d657374616d702063616e6e6f742062652073657420696e20706173740081525060200191505060405180910390fd5b611def8383612eb6565b506001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611e89612789565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600b541415611fc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f54656c65706f72746174696f6e2074696d65206973206e6f742073657400000081525060200191505060405180910390fd5b600b54421161203b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4974206973206e6f742074696d6520796574000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b6000600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612097612789565b73ffffffffffffffffffffffffffffffffffffffff161415612104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806131bd6028913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806135fd602f913960400191505060405180910390fd5b60008211612205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133166026913960400191505060405180910390fd5b600060036000612213612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156122a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605e81526020018061359f605e913960600191505060405180910390fd5b6000600260006122b3612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612344576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806134a36034913960400191505060405180910390fd5b61237861234f612789565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612988565b8160026000612385612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123cb612789565b73ffffffffffffffffffffffffffffffffffffffff167f2fb4f04aa26c1bb357645aeaacd9d7eab6dac90d141683716b8805b5ea0bed22836040518082815260200191505060405180910390a260019050919050565b60006004600061242f612789565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040518082805190602001908083835b6020831061249d578051825260208201915060208101905060208303925061247a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549050919050565b60006124e2612789565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166125c4612789565b73ffffffffffffffffffffffffffffffffffffffff161415612631576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806131846039913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603781526020018061312a6037913960400191505060405180910390fd5b81600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60008082840190508381101561277f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612817576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061354b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561289d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806132946022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612a0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806135266025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806131616023913960400191505060405180910390fd5b612aff8160405180606001604052806026815260200161333c602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b92816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290612ceb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cb0578082015181840152602081019050612c95565b50505050905090810190601f168015612cdd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134d76021913960400191505060405180910390fd5b612def81604051806060016040528060228152602001613216602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e46816005546130df90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff16612ed7612789565b73ffffffffffffffffffffffffffffffffffffffff161415612f44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806133626027913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a65726f2041646472657373000000000000000000000000000000000000000081525060200191505060405180910390fd5b42821161303f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806134226027913960400191505060405180910390fd5b82600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b819055508273ffffffffffffffffffffffffffffffffffffffff167f9baeb66b507aa115ae0d0de80e816eb42eb9ef456fe3036f15072979cbfac13d836040518082815260200191505060405180910390a26001905092915050565b600061312183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c3e565b90509291505056fe7365744c6f636b65724163636f756e743a204c6f636b6572204163636f756e742063616e6e6f74206265207a65726f206164647265737345524332303a207472616e7366657220746f20746865207a65726f20616464726573737365744c6f636b65724163636f756e743a204578656375746f72206163636f756e742063616e6e6f74206265207a65726f20616464726573736c6f636b42616c616e63653a2043616e6e6f74206c6f636b2042616c616e6365206f662073656c66546f6b656e54696d656c6f636b3a2072656c656173652074696d652063616e6e6f742062652073657420696e207061737445524332303a206275726e20616d6f756e7420657863656564732062616c616e636573657454696d655374616d703a204578656375746f72206163636f756e742063616e6e6f74206265207a65726f20616464726573734c6f636b65643a2063616c6c6572206973206e6f7420746865206c6f636b65724163636f756e7445524332303a20617070726f766520746f20746865207a65726f206164647265737373657454696d655374616d703a2043616e6e6f74207365742074696d657374616d7020666f72207a65726f206164647265737354696d656c6f636b3a2063757272656e742074696d65206973206265666f72652072656c656173652074696d656c6f636b42616c616e63653a204d757374206c6f636b20706f73697469766520616d6f756e7445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654578656375746f72206163636f756e742063616e6e6f74206265207a65726f206164647265737372656c656173653a204c6f636b6572204163636f756e74206973206e6f7420736574206279206f776e657254656c65706f72743a204d757374207472616e73666572202b766520616d6f756e7472656c656173653a204e6f20616d6f756e74206973206c6f636b656420616761696e73742074686973206163636f756e742e202b766520616d6f756e74206d757374206265206c6f636b6564526573657272756374696f6e2074696d652063616e6e6f742062652073657420696e207061737454656c65706f72743a2054656c65706f727453616665204163636f756e74206973206e6f7420736574206279206f776e657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63656c6f636b42616c616e63653a2052656c656173652070726576696f75736c79206c6f636b65642062616c616e636520666972737445524332303a206275726e2066726f6d20746865207a65726f206164647265737354656c65706f72743a2054656c65706f7274536166652063616e6e6f74207472616e7366657220746f2073656c6645524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737372656c656173653a2043616e6e6f742072656c656173652062616c616e636520666f72207a65726f20616464726573736c6f636b42616c616e63653a2052656c656173652054696d65206973206e6f7420736574206279206f776e65722e2052656c656173652054696d65206d75737420626520736574206265666f7265206c6f636b696e672062616c616e63656c6f636b42616c616e63653a204c6f636b6572204163636f756e74206973206e6f7420736574206279206f776e657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a9e7ebe6b764fbb1179f1202c77b66a59a97560d838d2d69ac5cdefebdea259a64736f6c63430007060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000713fb30000000000000000000000000000000000000000000000000000000000000000095045414345434f494e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055045414345000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): PEACECOIN
Arg [1] : symbol_ (string): PEACE
Arg [2] : initialSupply_ (uint256): 1900000000
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000713fb300
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 5045414345434f494e0000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 5045414345000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
2960:15623:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5102:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6905:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14231:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5790:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15420:665;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7555:454;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15303:105;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5642:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8281:300;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10532:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13590:528;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13367:98;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5953:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17162:760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4948:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5304:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9084:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6277:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16293:397;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6556:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18279:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14439:750;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18078:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12910:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5102:83;5139:13;5172:5;5165:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5102:83;:::o;6905:210::-;7024:4;7046:39;7055:12;:10;:12::i;:::-;7069:7;7078:6;7046:8;:39::i;:::-;7103:4;7096:11;;6905:210;;;;:::o;14231:115::-;14294:7;14321;:17;14329:8;14321:17;;;;;;;;;;;;;;;;14314:24;;14231:115;;;:::o;5790:100::-;5843:7;5870:12;;5863:19;;5790:100;:::o;15420:665::-;15478:4;4791:12;:10;:12::i;:::-;4773:30;;:14;;;;;;;;;;;:30;;;4765:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15529:1:::1;15503:28;;:14;;;;;;;;;;;:28;;;;15495:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15618:1;15598:22;;:8;:22;;;;15590:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15711:7;:17;15719:8;15711:17;;;;;;;;;;;;;;;;15692:15;:36;;15684:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15818:1;15797:8;:18;15806:8;15797:18;;;;;;;;;;;;;;;;:22;15789:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15911:53;15921:12;:10;:12::i;:::-;15935:8;15945;:18;15954:8;15945:18;;;;;;;;;;;;;;;;15911:9;:53::i;:::-;15996:1;15975:8;:18;15984:8;15975:18;;;;;;;;;;;;;;;:22;;;;16022:8;16013:42;;;16032:8;:22;16041:12;:10;:12::i;:::-;16032:22;;;;;;;;;;;;;;;;16013:42;;;;;;;;;;;;;;;;;;16073:4;16066:11;;15420:665:::0;;;:::o;7555:454::-;7695:4;7712:36;7722:6;7730:9;7741:6;7712:9;:36::i;:::-;7759:220;7782:6;7803:12;:10;:12::i;:::-;7830:138;7886:6;7830:138;;;;;;;;;;;;;;;;;:11;:19;7842:6;7830:19;;;;;;;;;;;;;;;:33;7850:12;:10;:12::i;:::-;7830:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7759:8;:220::i;:::-;7997:4;7990:11;;7555:454;;;;;:::o;15303:105::-;15351:7;15378:8;:22;15387:12;:10;:12::i;:::-;15378:22;;;;;;;;;;;;;;;;15371:29;;15303:105;:::o;5642:83::-;5683:5;5708:9;;;;;;;;;;;5701:16;;5642:83;:::o;8281:300::-;8396:4;8418:133;8441:12;:10;:12::i;:::-;8468:7;8490:50;8529:10;8490:11;:25;8502:12;:10;:12::i;:::-;8490:25;;;;;;;;;;;;;;;:34;8516:7;8490:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8418:8;:133::i;:::-;8569:4;8562:11;;8281:300;;;;:::o;10532:91::-;10588:27;10594:12;:10;:12::i;:::-;10608:6;10588:5;:27::i;:::-;10532:91;:::o;13590:528::-;13675:7;4659:12;:10;:12::i;:::-;4649:22;;:6;;;;;;;;;;;:22;;;4641:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13727:1:::1;13703:26;;:12;:10;:12::i;:::-;:26;;;;13695:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13826:1;13806:22;;:8;:22;;;;13798:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13916:15;13903:10;:28;13895:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14016:10;13996:7;:17;14004:8;13996:17;;;;;;;;;;;;;;;:30;;;;14054:8;14042:33;;;14064:10;14042:33;;;;;;;;;;;;;;;;;;14093:7;:17;14101:8;14093:17;;;;;;;;;;;;;;;;14086:24;;13590:528:::0;;;;:::o;13367:98::-;13416:7;13443:14;;;;;;;;;;;13436:21;;13367:98;:::o;5953:119::-;6019:7;6046:9;:18;6056:7;6046:18;;;;;;;;;;;;;;;;6039:25;;5953:119;;;:::o;17162:760::-;17222:4;17263:13;;;;;;;;;;;17247:29;;:12;:10;:12::i;:::-;:29;;;;17239:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17371:1;17346:27;;:13;;;;;;;;;;;:27;;;;17338:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17473:1;17447:9;:23;17457:12;:10;:12::i;:::-;17447:23;;;;;;;;;;;;;;;;:27;17439:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17550:13;;17532:15;:31;17524:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17608:19;17630:9;:23;17640:12;:10;:12::i;:::-;17630:23;;;;;;;;;;;;;;;;17608:45;;17667:63;17677:12;:10;:12::i;:::-;17691:13;;;;;;;;;;;17706:9;:23;17716:12;:10;:12::i;:::-;17706:23;;;;;;;;;;;;;;;;17667:9;:63::i;:::-;17786:11;17741:15;:29;17757:12;:10;:12::i;:::-;17741:29;;;;;;;;;;;;;;;17771:11;17741:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:56;;;;17827:12;:10;:12::i;:::-;17813:53;;;17841:11;17854;17813:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17910:4;17903:11;;;17162:760;;;:::o;4948:82::-;4989:7;5016:6;;;;;;;;;;;5009:13;;4948:82;:::o;5304:87::-;5343:13;5376:7;5369:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5304:87;:::o;9084:400::-;9204:4;9226:228;9249:12;:10;:12::i;:::-;9276:7;9298:145;9355:15;9298:145;;;;;;;;;;;;;;;;;:11;:25;9310:12;:10;:12::i;:::-;9298:25;;;;;;;;;;;;;;;:34;9324:7;9298:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;9226:8;:228::i;:::-;9472:4;9465:11;;9084:400;;;;:::o;6277:216::-;6399:4;6421:42;6431:12;:10;:12::i;:::-;6445:9;6456:6;6421:9;:42::i;:::-;6481:4;6474:11;;6277:216;;;;:::o;16293:397::-;16374:4;4659:12;:10;:12::i;:::-;4649:22;;:6;;;;;;;;;;;:22;;;4641:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16423:1:::1;16399:26;;:12;:10;:12::i;:::-;:26;;;;16391:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16508:1;16488:22;;:8;:22;;;;16480:47;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16559:15;16546:10;:28;16538:72;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16621:39;16639:8;16649:10;16621:17;:39::i;:::-;;16678:4;16671:11;;16293:397:::0;;;;:::o;6556:202::-;6691:7;6723:11;:18;6735:5;6723:18;;;;;;;;;;;;;;;:27;6742:7;6723:27;;;;;;;;;;;;;;;;6716:34;;6556:202;;;;:::o;18279:229::-;4659:12;:10;:12::i;:::-;4649:22;;:6;;;;;;;;;;;:22;;;4641:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18373:1:::1;18356:13;;:18;;18348:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;18442:13;;18424:15;:31;18416:63;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;18499:4;18486:18;;;14439:750:::0;14491:4;14531:14;;;;;;;;;;;14515:30;;:12;:10;:12::i;:::-;:30;;;;14507:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14635:1;14609:28;;:14;;;;;;;;;;;:28;;;;14601:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14717:1;14708:6;:10;14700:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14805:1;14780:7;:21;14788:12;:10;:12::i;:::-;14780:21;;;;;;;;;;;;;;;;:26;;14772:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14950:1;14924:8;:22;14933:12;:10;:12::i;:::-;14924:22;;;;;;;;;;;;;;;;:27;14916:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15019:47;15029:12;:10;:12::i;:::-;15043:14;;;;;;;;;;;15059:6;15019:9;:47::i;:::-;15102:6;15077:8;:22;15086:12;:10;:12::i;:::-;15077:22;;;;;;;;;;;;;;;:31;;;;15138:12;:10;:12::i;:::-;15124:35;;;15152:6;15124:35;;;;;;;;;;;;;;;;;;15177:4;15170:11;;14439:750;;;:::o;18078:151::-;18152:7;18179:15;:29;18195:12;:10;:12::i;:::-;18179:29;;;;;;;;;;;;;;;18209:11;18179:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18172:49;;18078:151;;;:::o;12910:350::-;12980:4;4659:12;:10;:12::i;:::-;4649:22;;:6;;;;;;;;;;;:22;;;4641:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13029:1:::1;13005:26;;:12;:10;:12::i;:::-;:26;;;;12997:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13132:1;13112:22;;:8;:22;;;;13104:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13222:8;13205:14;;:25;;;;;;;;;;;;;;;;;;13248:4;13241:11;;12910:350:::0;;;:::o;1048:181::-;1106:7;1126:9;1142:1;1138;:5;1126:17;;1167:1;1162;:6;;1154:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1220:1;1213:8;;;1048:181;;;;:::o;911:106::-;964:15;999:10;992:17;;911:106;:::o;12319:380::-;12472:1;12455:19;;:5;:19;;;;12447:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12553:1;12534:21;;:7;:21;;;;12526:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12637:6;12607:11;:18;12619:5;12607:18;;;;;;;;;;;;;;;:27;12626:7;12607:27;;;;;;;;;;;;;;;:36;;;;12675:7;12659:32;;12668:5;12659:32;;;12684:6;12659:32;;;;;;;;;;;;;;;;;;12319:380;;;:::o;9974:550::-;10132:1;10114:20;;:6;:20;;;;10106:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10216:1;10195:23;;:9;:23;;;;10187:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10291:108;10327:6;10291:108;;;;;;;;;;;;;;;;;:9;:17;10301:6;10291:17;;;;;;;;;;;;;;;;:21;;:108;;;;;:::i;:::-;10271:9;:17;10281:6;10271:17;;;;;;;;;;;;;;;:128;;;;10433:32;10458:6;10433:9;:20;10443:9;10433:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10410:9;:20;10420:9;10410:20;;;;;;;;;;;;;;;:55;;;;10498:9;10481:35;;10490:6;10481:35;;;10509:6;10481:35;;;;;;;;;;;;;;;;;;9974:550;;;:::o;1381:226::-;1501:7;1534:1;1529;:6;;1537:12;1521:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:9;1577:1;1573;:5;1561:17;;1598:1;1591:8;;;1381:226;;;;;:::o;10956:356::-;11059:1;11040:21;;:7;:21;;;;11032:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11133:68;11156:6;11133:68;;;;;;;;;;;;;;;;;:9;:18;11143:7;11133:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;11112:9;:18;11122:7;11112:18;;;;;;;;;;;;;;;:89;;;;11227:24;11244:6;11227:12;;:16;;:24;;;;:::i;:::-;11212:12;:39;;;;11293:1;11267:37;;11276:7;11267:37;;;11297:6;11267:37;;;;;;;;;;;;;;;;;;10956:356;;:::o;16702:450::-;16776:4;16825:1;16801:26;;:12;:10;:12::i;:::-;:26;;;;16793:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16910:1;16890:22;;:8;:22;;;;16882:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16956:15;16948:5;:23;16940:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17042:8;17026:13;;:24;;;;;;;;;;;;;;;;;;17077:5;17061:13;:21;;;;17106:8;17098:24;;;17116:5;17098:24;;;;;;;;;;;;;;;;;;17140:4;17133:11;;16702:450;;;;:::o;1237:136::-;1295:7;1322:43;1326:1;1329;1322:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1315:50;;1237:136;;;;:::o
Swarm Source
ipfs://a9e7ebe6b764fbb1179f1202c77b66a59a97560d838d2d69ac5cdefebdea259a
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.