ETH Price: $2,325.78 (+0.48%)
 

Overview

Max Total Supply

999,986,632.186849999999999 MDM

Holders

319

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

A project that develops a BPU (Blockchain Processing Unit) that performs core functions for commercialization level of blockchain platform designed for enterprise.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MediumToken

Compiler Version
v0.5.10+commit.5a6ea5b1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2019-10-11
*/

pragma solidity ^0.5.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);
}

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) {
		require(b <= a, "SafeMath: subtraction overflow");
		uint256 c = a - b;

		return c;
	}

	function mul(uint256 a, uint256 b) internal pure returns (uint256) {
		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) {
		require(b > 0, "SafeMath: division by zero");
		uint256 c = a / b;

		return c;
	}

	function mod(uint256 a, uint256 b) internal pure returns (uint256) {
		require(b != 0, "SafeMath: modulo by zero");
		return a % b;
	}
}

contract ERC20 is IERC20 {
	using SafeMath for uint256;

	mapping (address => uint256) private _balances;
	mapping (address => mapping (address => uint256)) private _allowances;
	uint256 private _totalSupply;

	function totalSupply() public view returns (uint256) {
		return _totalSupply;
	}

	function balanceOf(address account) public view returns (uint256) {
		return _balances[account];
	}

	function transfer(address recipient, uint256 amount) public returns (bool) {
		_transfer(msg.sender, recipient, amount);
		return true;
	}

	function allowance(address owner, address spender) public view returns (uint256) {
		return _allowances[owner][spender];
	}

	function approve(address spender, uint256 value) public returns (bool) {
		_approve(msg.sender, spender, value);
		return true;
	}

	function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
		_transfer(sender, recipient, amount);
		_approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
		return true;
	}

	function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
		_approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
		return true;
	}

	function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
		_approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
		return true;
	}

	function _transfer(address sender, address recipient, uint256 amount) internal {
		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);
		_balances[recipient] = _balances[recipient].add(amount);
		emit Transfer(sender, recipient, amount);
	}

	function _mint(address account, uint256 amount) internal {
		require(account != address(0), "ERC20: mint to the zero address");

		_totalSupply = _totalSupply.add(amount);
		_balances[account] = _balances[account].add(amount);
		emit Transfer(address(0), account, amount);
	}

	function _burn(address account, uint256 value) internal {
		require(account != address(0), "ERC20: burn from the zero address");

		_totalSupply = _totalSupply.sub(value);
		_balances[account] = _balances[account].sub(value);
		emit Transfer(account, address(0), value);
	}

	function _approve(address owner, address spender, uint256 value) internal {
		require(owner != address(0), "ERC20: approve from the zero address");
		require(spender != address(0), "ERC20: approve to the zero address");

		_allowances[owner][spender] = value;
		emit Approval(owner, spender, value);
	}

	function _burnFrom(address account, uint256 amount) internal {
		_burn(account, amount);
		_approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
	}
}

contract ERC20Detailed is IERC20 {
	string private _name;
	string private _symbol;
	uint8 private _decimals;

	constructor (string memory name, string memory symbol, uint8 decimals) public {
		_name = name;
		_symbol = symbol;
		_decimals = decimals;
	}

	function name() public view returns (string memory) {
		return _name;
	}

	function symbol() public view returns (string memory) {
		return _symbol;
	}

	function decimals() public view returns (uint8) {
		return _decimals;
	}
}

contract ERC20Burnable is ERC20 {
	function burn(uint256 amount) public {
		_burn(msg.sender, amount);
	}

	function burnFrom(address account, uint256 amount) public {
		_burnFrom(account, amount);
	}
}

contract Ownable {
	address private _owner;

	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

	constructor() internal {
		_owner = msg.sender;
		emit OwnershipTransferred(address(0), _owner);
	}

	modifier onlyOwner() {
		require(msg.sender == _owner, "Ownable: caller is not the owner");
		_;
	}

	function owner() public view returns (address) {
		return _owner;
	}

	function renounceOwnership() public onlyOwner {
		emit OwnershipTransferred(_owner, address(0));
		_owner = address(0);
	}

	function transferOwnership(address newOwner) public onlyOwner {
		_transferOwnership(newOwner);
	}

	function _transferOwnership(address newOwner) internal {
		require(newOwner != address(0), "Ownable: new owner is the zero address");
		emit OwnershipTransferred(_owner, newOwner);
		_owner = newOwner;
	}
}

contract Lockable is Ownable, ERC20 {
	using SafeMath for uint256;

	uint256 constant INFINITY = 300000000000;

	struct UsableLimitInfo{
		bool isEnable;
		uint256 usableAmount;
	}

	bool private _tokenLocked;
	mapping(address => uint256) private _accountLocked;
	mapping(address => UsableLimitInfo) private _amountLocked;

	event TokenLocked();
	event TokenUnlocked();

	event AccountLocked(address account, uint256 time);
	event AccountUnlocked(address account, uint256 time);

	event EnableAmountLimit(address account, uint256 usableAmount);
	event DisableAmountLimit(address account);

	constructor() internal {
		_tokenLocked = false;
	}

	modifier whenUnlocked(address originator, address from, address to) {
		require(!_tokenLocked, 'Lockable: Token is locked.');
		require(!isAccountLocked(originator), 'Lockable: Account is locked.');

		if (originator != from) {
			require(!isAccountLocked(from), 'Lockable: Account is locked.');
		}

		require(!isAccountLocked(to), 'Lockable: Account is locked.');
		_;
	}

	modifier checkAmountLimit(address from, uint256 amount) {
		if(_amountLocked[from].isEnable == true) {
			require(_amountLocked[from].usableAmount >= amount, 'Lockable: check usable amount');
		}
		_;
		if(_amountLocked[from].isEnable == true) {
			_decreaseUsableAmount(from, amount);
		}
	}

	function isAccountLocked(address account) internal view returns (bool) {
		if (_accountLocked[account] >= block.timestamp) {
			return true;
		} else {
			return false;
		}
	}

	function getTokenLockState() public onlyOwner view returns (bool) {
		return _tokenLocked;
	}

	function getAccountLockState(address account) public onlyOwner view returns (uint256) {
		return _accountLocked[account];
	}

	function getAccountLockState() public view returns (uint256) {
		return _accountLocked[msg.sender];
	}

	function lockToken() public onlyOwner {
		_tokenLocked = true;
		emit TokenLocked();
	}

	function unlockToken() public onlyOwner {
		_tokenLocked = false; 
		emit TokenUnlocked();
	}

	function lockAccount(address account) public onlyOwner {
		_lockAccount(account, INFINITY);
	}

	function lockAccount(address account, uint256 time) public onlyOwner {
		_lockAccount(account, time);
	}

	function _lockAccount(address account, uint256 time) private onlyOwner {
		_accountLocked[account] = time;
		emit AccountLocked(account, time);
	}

	function unlockAccount(address account) public onlyOwner {
		if (_accountLocked[account] != 0) {
			uint256 lockedTimestamp = _accountLocked[account];
			delete _accountLocked[account];
			emit AccountUnlocked(account, lockedTimestamp);
		}
	}

	function getUsableLimitInfo(address account) onlyOwner public  view returns (bool, uint256) {
		return (_amountLocked[account].isEnable, _amountLocked[account].usableAmount);
	}

	
	
	

	function setUsableLimitMode(address account, uint256 amount) public onlyOwner {
		_setUsableAmount(account, amount);
	}

	function disableUsableLimitMode(address account) public onlyOwner {
		require(_amountLocked[account].isEnable == true, "Lockable: Already disabled.");

		_amountLocked[account].isEnable = false;
		_amountLocked[account].usableAmount = 0;
		emit DisableAmountLimit(account);
	}

	function increaseUsableAmountLimit(address account, uint256 amount) public onlyOwner {
		require(_amountLocked[account].isEnable == true, "Lockable: This account is not set Usable amount limit mode.");
		_increaseUsableAmount(account, amount);
	}

	function decreaseUsableAmountLimit(address account, uint256 amount) public onlyOwner {
		require(_amountLocked[account].isEnable == true, "Lockable: This account is not set Usable amount limit mode.");
		_decreaseUsableAmount(account, amount);
	}

	function _increaseUsableAmount(address account, uint256 amount) private {
		uint256 val = amount + _amountLocked[account].usableAmount;

		_setUsableAmount(account, val);
	}

	function _decreaseUsableAmount(address account, uint256 amount) private {
		uint256 val = _amountLocked[account].usableAmount - amount;

		_setUsableAmount(account, val);
	}

	function _setUsableAmount(address account, uint256 usableAmount) private {
		require(balanceOf(account) >= usableAmount, "Lockable: It must not bigger than balance");

		if(_amountLocked[account].isEnable == false) {
			_amountLocked[account].isEnable = true;
		}
		_amountLocked[account].usableAmount = usableAmount;
		emit EnableAmountLimit(account, usableAmount);
	}
}

contract ERC20Lockable is ERC20, Lockable {
	function transfer(address to, uint256 value)
	public
	whenUnlocked(msg.sender, msg.sender, to)
	checkAmountLimit(msg.sender, value)
	returns (bool)
	{
		return super.transfer(to, value);
	}

	function transferFrom(address from, address to, uint256 value)
	public
	whenUnlocked(msg.sender, from, to)
	checkAmountLimit(from, value)
	returns (bool)
	{
		return super.transferFrom(from, to, value);
	}

	function approve(address spender, uint256 value) public whenUnlocked(msg.sender, msg.sender, spender) returns (bool) {
		return super.approve(spender, value);
	}

	function increaseAllowance(address spender, uint addedValue) public whenUnlocked(msg.sender, msg.sender, spender) returns (bool) {
		return super.increaseAllowance(spender, addedValue);
	}

	function decreaseAllowance(address spender, uint subtractedValue) public whenUnlocked(msg.sender, msg.sender, spender) returns (bool) {
		return super.decreaseAllowance(spender, subtractedValue);
	}
}

contract MediumToken is ERC20, ERC20Detailed, ERC20Burnable, ERC20Lockable {
	uint256 private _INITIAL_SUPPLY = 1000000000e18;
	string private _TOKEN_NAME = "Medium Token";
	string private _TOKEN_SYMBOL = "MDM";
	uint8 _DECIMALS = 18;

	constructor(address initialWallet) ERC20Detailed(_TOKEN_NAME, _TOKEN_SYMBOL, _DECIMALS) public {
		_mint(initialWallet, _INITIAL_SUPPLY);
	}
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unlockToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"decreaseUsableAmountLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getUsableLimitInfo","outputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"disableUsableLimitMode","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"lockAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"unlockAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenLockState","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"lockToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"increaseUsableAmountLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAccountLockState","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"time","type":"uint256"}],"name":"lockAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"setUsableLimitMode","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getAccountLockState","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"initialWallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"TokenLocked","type":"event"},{"anonymous":false,"inputs":[],"name":"TokenUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"},{"indexed":false,"name":"time","type":"uint256"}],"name":"AccountLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"},{"indexed":false,"name":"time","type":"uint256"}],"name":"AccountUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"},{"indexed":false,"name":"usableAmount","type":"uint256"}],"name":"EnableAmountLimit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"DisableAmountLimit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60806040526b033b2e3c9fd0803ce80000006009556040518060400160405280600c81526020017f4d656469756d20546f6b656e0000000000000000000000000000000000000000815250600a908051906020019062000061929190620005f5565b506040518060400160405280600381526020017f4d444d0000000000000000000000000000000000000000000000000000000000815250600b9080519060200190620000af929190620005f5565b506012600c60006101000a81548160ff021916908360ff160217905550348015620000d957600080fd5b50604051620044c3380380620044c383398181016040526020811015620000ff57600080fd5b8101908080519060200190929190505050600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620001aa5780601f106200017e57610100808354040283529160200191620001aa565b820191906000526020600020905b8154815290600101906020018083116200018c57829003601f168201915b5050505050600b8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620002495780601f106200021d5761010080835404028352916020019162000249565b820191906000526020600020905b8154815290600101906020018083116200022b57829003601f168201915b5050505050600c60009054906101000a900460ff16336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3826004908051906020019062000332929190620005f5565b5081600590805190602001906200034b929190620005f5565b5080600660006101000a81548160ff021916908360ff1602179055505050506000600660016101000a81548160ff0219169083151502179055506200039981600954620003a060201b60201c565b50620006a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b62000460816003546200056c60201b62003c191790919060201c565b600381905550620004bf81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200056c60201b62003c191790919060201c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080828401905083811015620005eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200063857805160ff191683800117855562000669565b8280016001018555821562000669579182015b82811115620006685782518255916020019190600101906200064b565b5b5090506200067891906200067c565b5090565b620006a191905b808211156200069d57600081600090555060010162000683565b5090565b90565b613e0f80620006b46000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806379cc679011610104578063bca7a9e2116100a2578063d2ea5ee311610071578063d2ea5ee3146108cf578063d86f8ccd1461091d578063dd62ed3e14610975578063f2fde38b146109ed576101cf565b8063bca7a9e21461080b578063bda99d9e14610815578063bea1581514610863578063bf620a4514610881576101cf565b806395d89b41116100de57806395d89b411461069a578063a457c2d71461071d578063a9059cbb14610783578063ae8868ba146107e9576101cf565b806379cc6790146105be5780638da5cb5b1461060c578063905295e314610656576101cf565b8063313ce5671161017157806342966c681161014b57806342966c68146104ea57806347a64f441461051857806370a082311461055c578063715018a6146105b4576101cf565b8063313ce5671461041c5780633950935114610440578063413c2b25146104a6576101cf565b806318a24b5b116101ad57806318a24b5b146102db57806322545b6e146102e557806323b872dd146103335780632b611841146103b9576101cf565b806306fdde03146101d4578063095ea7b31461025757806318160ddd146102bd575b600080fd5b6101dc610a31565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021c578082015181840152602081019050610201565b50505050905090810190601f1680156102495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a36004803603604081101561026d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ad3565b604051808215151515815260200191505060405180910390f35b6102c5610d18565b6040518082815260200191505060405180910390f35b6102e3610d22565b005b610331600480360360408110156102fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e2d565b005b61039f6004803603606081101561034957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fa9565b604051808215151515815260200191505060405180910390f35b6103fb600480360360208110156103cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611370565b60405180831515151581526020018281526020019250505060405180910390f35b6104246114d1565b604051808260ff1660ff16815260200191505060405180910390f35b61048c6004803603604081101561045657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e8565b604051808215151515815260200191505060405180910390f35b6104e8600480360360208110156104bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061172d565b005b6105166004803603602081101561050057600080fd5b81019080803590602001909291905050506119c1565b005b61055a6004803603602081101561052e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119ce565b005b61059e6004803603602081101561057257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aa2565b6040518082815260200191505060405180910390f35b6105bc611aeb565b005b61060a600480360360408110156105d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c6c565b005b610614611c7a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106986004803603602081101561066c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ca3565b005b6106a2611ea3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e25780820151818401526020810190506106c7565b50505050905090810190601f16801561070f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107696004803603604081101561073357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f45565b604051808215151515815260200191505060405180910390f35b6107cf6004803603604081101561079957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061218a565b604051808215151515815260200191505060405180910390f35b6107f161254f565b604051808215151515815260200191505060405180910390f35b610813612628565b005b6108616004803603604081101561082b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612733565b005b61086b6128af565b6040518082815260200191505060405180910390f35b6108cd6004803603604081101561089757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506128f6565b005b61091b600480360360408110156108e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506129c6565b005b61095f6004803603602081101561093357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a96565b6040518082815260200191505060405180910390f35b6109d76004803603604081101561098b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ba1565b6040518082815260200191505060405180910390f35b610a2f60048036036020811015610a0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c28565b005b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b5050505050905090565b6000333384600660019054906101000a900460ff1615610b5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b61626c653a20546f6b656e206973206c6f636b65642e00000000000081525060200191505060405180910390fd5b610b6483612cf6565b15610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610c8757610c1382612cf6565b15610c86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b5b610c9081612cf6565b15610d03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b610d0d8686612d51565b935050505092915050565b6000600354905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600660016101000a81548160ff0219169083151502179055507f207acd5776f957a43a89bc1a22dc017c11da78363d4df57a450b110e31ec8f2260405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16151514610f9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180613d0d603b913960400191505060405180910390fd5b610fa58282612d68565b5050565b6000338484600660019054906101000a900460ff1615611031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b61626c653a20546f6b656e206973206c6f636b65642e00000000000081525060200191505060405180910390fd5b61103a83612cf6565b156110ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461115d576110e982612cf6565b1561115c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b5b61116681612cf6565b156111d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b868560011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16151514156112f05780600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410156112ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c6f636b61626c653a20636865636b20757361626c6520616d6f756e7400000081525060200191505060405180910390fd5b5b6112fb898989612dc0565b955060011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615151415611364576113638282612d68565b5b50505050509392505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611435576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015491509150915091565b6000600660009054906101000a900460ff16905090565b6000333384600660019054906101000a900460ff1615611570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b61626c653a20546f6b656e206973206c6f636b65642e00000000000081525060200191505060405180910390fd5b61157983612cf6565b156115ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461169c5761162882612cf6565b1561169b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b5b6116a581612cf6565b15611718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b6117228686612e71565b935050505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161515146118b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4c6f636b61626c653a20416c72656164792064697361626c65642e000000000081525060200191505060405180910390fd5b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055506000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507fd0377f16b4ba0067b48b516e990e1654ab947d269cc0d21888e2ef548908930981604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6119cb3382612f16565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611a9f816445d964b8006130b6565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611c76828261322b565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611ea0576000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090557feefed4b5d0246fe116650f8c255b05eba69775e184d2747b8dac59475528ed8e8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505b50565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f3b5780601f10611f1057610100808354040283529160200191611f3b565b820191906000526020600020905b815481529060010190602001808311611f1e57829003601f168201915b5050505050905090565b6000333384600660019054906101000a900460ff1615611fcd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b61626c653a20546f6b656e206973206c6f636b65642e00000000000081525060200191505060405180910390fd5b611fd683612cf6565b15612049576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146120f95761208582612cf6565b156120f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b5b61210281612cf6565b15612175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b61217f86866132d2565b935050505092915050565b6000333384600660019054906101000a900460ff1615612212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b61626c653a20546f6b656e206973206c6f636b65642e00000000000081525060200191505060405180910390fd5b61221b83612cf6565b1561228e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461233e576122ca82612cf6565b1561233d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b5b61234781612cf6565b156123ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b338560011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16151514156124d15780600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410156124d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c6f636b61626c653a20636865636b20757361626c6520616d6f756e7400000081525060200191505060405180910390fd5b5b6124db8888613377565b955060011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615151415612544576125438282612d68565b5b505050505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612613576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600660019054906101000a900460ff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600660016101000a81548160ff0219169083151502179055507f5a8181f7d0b153af63771dfd31ece96ef267eae81779d9d73f156419ffc4201a60405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161515146128a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180613d0d603b913960400191505060405180910390fd5b6128ab828261338e565b5050565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146129b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6129c282826130b6565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612a9282826133e6565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b5a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612cf3816135b5565b50565b600042600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410612d475760019050612d4c565b600090505b919050565b6000612d5e3384846136f9565b6001905092915050565b600081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154039050612dbb83826133e6565b505050565b6000612dcd8484846138f0565b612e668433612e6185600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9090919063ffffffff16565b6136f9565b600190509392505050565b6000612f0c3384612f0785600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1990919063ffffffff16565b6136f9565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613d486021913960400191505060405180910390fd5b612fb181600354613b9090919063ffffffff16565b60038190555061300981600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9090919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613178576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507ff7c3865a2047e2fc614fff3af48eef519dfd5243847cbefd615b3a150a9db5b08282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b6132358282612f16565b6132ce82336132c984600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9090919063ffffffff16565b6136f9565b5050565b600061336d338461336885600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9090919063ffffffff16565b6136f9565b6001905092915050565b60006133843384846138f0565b6001905092915050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154820190506133e183826133e6565b505050565b806133f083611aa2565b1015613447576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613db26029913960400191505060405180910390fd5b60001515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16151514156134ff576001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055505b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507fbf123690ec34939e1c30066c1fde2042827aee951cb058e9f83aebaf253c44018282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561363b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613cc56026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561377f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613d8e6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613805576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613ceb6022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613976576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613d696025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156139fc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613ca26023913960400191505060405180910390fd5b613a4e81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ae381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1990919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115613c08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015613c97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734c6f636b61626c653a2054686973206163636f756e74206973206e6f742073657420557361626c6520616d6f756e74206c696d6974206d6f64652e45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734c6f636b61626c653a204974206d757374206e6f7420626967676572207468616e2062616c616e6365a265627a7a723058207e9ab3b5a91bae031f102e217a1be193cbe2ea2954260868770750e5e5cf952464736f6c634300050a00320000000000000000000000006cf9dee4d17115e1a520e4ee91cb75d66bd46efc

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c806379cc679011610104578063bca7a9e2116100a2578063d2ea5ee311610071578063d2ea5ee3146108cf578063d86f8ccd1461091d578063dd62ed3e14610975578063f2fde38b146109ed576101cf565b8063bca7a9e21461080b578063bda99d9e14610815578063bea1581514610863578063bf620a4514610881576101cf565b806395d89b41116100de57806395d89b411461069a578063a457c2d71461071d578063a9059cbb14610783578063ae8868ba146107e9576101cf565b806379cc6790146105be5780638da5cb5b1461060c578063905295e314610656576101cf565b8063313ce5671161017157806342966c681161014b57806342966c68146104ea57806347a64f441461051857806370a082311461055c578063715018a6146105b4576101cf565b8063313ce5671461041c5780633950935114610440578063413c2b25146104a6576101cf565b806318a24b5b116101ad57806318a24b5b146102db57806322545b6e146102e557806323b872dd146103335780632b611841146103b9576101cf565b806306fdde03146101d4578063095ea7b31461025757806318160ddd146102bd575b600080fd5b6101dc610a31565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021c578082015181840152602081019050610201565b50505050905090810190601f1680156102495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a36004803603604081101561026d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ad3565b604051808215151515815260200191505060405180910390f35b6102c5610d18565b6040518082815260200191505060405180910390f35b6102e3610d22565b005b610331600480360360408110156102fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e2d565b005b61039f6004803603606081101561034957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fa9565b604051808215151515815260200191505060405180910390f35b6103fb600480360360208110156103cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611370565b60405180831515151581526020018281526020019250505060405180910390f35b6104246114d1565b604051808260ff1660ff16815260200191505060405180910390f35b61048c6004803603604081101561045657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e8565b604051808215151515815260200191505060405180910390f35b6104e8600480360360208110156104bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061172d565b005b6105166004803603602081101561050057600080fd5b81019080803590602001909291905050506119c1565b005b61055a6004803603602081101561052e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119ce565b005b61059e6004803603602081101561057257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aa2565b6040518082815260200191505060405180910390f35b6105bc611aeb565b005b61060a600480360360408110156105d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c6c565b005b610614611c7a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106986004803603602081101561066c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ca3565b005b6106a2611ea3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e25780820151818401526020810190506106c7565b50505050905090810190601f16801561070f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107696004803603604081101561073357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f45565b604051808215151515815260200191505060405180910390f35b6107cf6004803603604081101561079957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061218a565b604051808215151515815260200191505060405180910390f35b6107f161254f565b604051808215151515815260200191505060405180910390f35b610813612628565b005b6108616004803603604081101561082b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612733565b005b61086b6128af565b6040518082815260200191505060405180910390f35b6108cd6004803603604081101561089757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506128f6565b005b61091b600480360360408110156108e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506129c6565b005b61095f6004803603602081101561093357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a96565b6040518082815260200191505060405180910390f35b6109d76004803603604081101561098b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ba1565b6040518082815260200191505060405180910390f35b610a2f60048036036020811015610a0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c28565b005b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b5050505050905090565b6000333384600660019054906101000a900460ff1615610b5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b61626c653a20546f6b656e206973206c6f636b65642e00000000000081525060200191505060405180910390fd5b610b6483612cf6565b15610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610c8757610c1382612cf6565b15610c86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b5b610c9081612cf6565b15610d03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b610d0d8686612d51565b935050505092915050565b6000600354905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600660016101000a81548160ff0219169083151502179055507f207acd5776f957a43a89bc1a22dc017c11da78363d4df57a450b110e31ec8f2260405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16151514610f9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180613d0d603b913960400191505060405180910390fd5b610fa58282612d68565b5050565b6000338484600660019054906101000a900460ff1615611031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b61626c653a20546f6b656e206973206c6f636b65642e00000000000081525060200191505060405180910390fd5b61103a83612cf6565b156110ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461115d576110e982612cf6565b1561115c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b5b61116681612cf6565b156111d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b868560011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16151514156112f05780600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410156112ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c6f636b61626c653a20636865636b20757361626c6520616d6f756e7400000081525060200191505060405180910390fd5b5b6112fb898989612dc0565b955060011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615151415611364576113638282612d68565b5b50505050509392505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611435576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015491509150915091565b6000600660009054906101000a900460ff16905090565b6000333384600660019054906101000a900460ff1615611570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b61626c653a20546f6b656e206973206c6f636b65642e00000000000081525060200191505060405180910390fd5b61157983612cf6565b156115ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461169c5761162882612cf6565b1561169b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b5b6116a581612cf6565b15611718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b6117228686612e71565b935050505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161515146118b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4c6f636b61626c653a20416c72656164792064697361626c65642e000000000081525060200191505060405180910390fd5b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055506000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507fd0377f16b4ba0067b48b516e990e1654ab947d269cc0d21888e2ef548908930981604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6119cb3382612f16565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611a9f816445d964b8006130b6565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611c76828261322b565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611ea0576000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090557feefed4b5d0246fe116650f8c255b05eba69775e184d2747b8dac59475528ed8e8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505b50565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f3b5780601f10611f1057610100808354040283529160200191611f3b565b820191906000526020600020905b815481529060010190602001808311611f1e57829003601f168201915b5050505050905090565b6000333384600660019054906101000a900460ff1615611fcd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b61626c653a20546f6b656e206973206c6f636b65642e00000000000081525060200191505060405180910390fd5b611fd683612cf6565b15612049576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146120f95761208582612cf6565b156120f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b5b61210281612cf6565b15612175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b61217f86866132d2565b935050505092915050565b6000333384600660019054906101000a900460ff1615612212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b61626c653a20546f6b656e206973206c6f636b65642e00000000000081525060200191505060405180910390fd5b61221b83612cf6565b1561228e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461233e576122ca82612cf6565b1561233d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b5b61234781612cf6565b156123ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b61626c653a204163636f756e74206973206c6f636b65642e0000000081525060200191505060405180910390fd5b338560011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16151514156124d15780600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410156124d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c6f636b61626c653a20636865636b20757361626c6520616d6f756e7400000081525060200191505060405180910390fd5b5b6124db8888613377565b955060011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615151415612544576125438282612d68565b5b505050505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612613576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600660019054906101000a900460ff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600660016101000a81548160ff0219169083151502179055507f5a8181f7d0b153af63771dfd31ece96ef267eae81779d9d73f156419ffc4201a60405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161515146128a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180613d0d603b913960400191505060405180910390fd5b6128ab828261338e565b5050565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146129b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6129c282826130b6565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612a9282826133e6565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b5a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612cf3816135b5565b50565b600042600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410612d475760019050612d4c565b600090505b919050565b6000612d5e3384846136f9565b6001905092915050565b600081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154039050612dbb83826133e6565b505050565b6000612dcd8484846138f0565b612e668433612e6185600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9090919063ffffffff16565b6136f9565b600190509392505050565b6000612f0c3384612f0785600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1990919063ffffffff16565b6136f9565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613d486021913960400191505060405180910390fd5b612fb181600354613b9090919063ffffffff16565b60038190555061300981600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9090919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613178576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507ff7c3865a2047e2fc614fff3af48eef519dfd5243847cbefd615b3a150a9db5b08282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b6132358282612f16565b6132ce82336132c984600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9090919063ffffffff16565b6136f9565b5050565b600061336d338461336885600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9090919063ffffffff16565b6136f9565b6001905092915050565b60006133843384846138f0565b6001905092915050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154820190506133e183826133e6565b505050565b806133f083611aa2565b1015613447576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613db26029913960400191505060405180910390fd5b60001515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16151514156134ff576001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055505b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507fbf123690ec34939e1c30066c1fde2042827aee951cb058e9f83aebaf253c44018282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561363b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613cc56026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561377f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613d8e6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613805576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613ceb6022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613976576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613d696025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156139fc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613ca26023913960400191505060405180910390fd5b613a4e81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ae381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1990919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115613c08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015613c97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734c6f636b61626c653a2054686973206163636f756e74206973206e6f742073657420557361626c6520616d6f756e74206c696d6974206d6f64652e45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734c6f636b61626c653a204974206d757374206e6f7420626967676572207468616e2062616c616e6365a265627a7a723058207e9ab3b5a91bae031f102e217a1be193cbe2ea2954260868770750e5e5cf952464736f6c634300050a0032

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000006cf9dee4d17115e1a520e4ee91cb75d66bd46efc

-----Decoded View---------------
Arg [0] : initialWallet (address): 0x6Cf9DeE4D17115e1a520e4EE91cB75D66Bd46EFc

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006cf9dee4d17115e1a520e4ee91cb75d66bd46efc


Deployed Bytecode Sourcemap

11695:388:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11695:388:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4756:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4756:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11125:163;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11125:163:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1776:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8076:96;;;:::i;:::-;;9659:249;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9659:249:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10908:212;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10908:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8797:179;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8797:179:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4918:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11293:190;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11293:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9118:282;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9118:282:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5035:72;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5035:72:0;;;;;;;;;;;;;;;;;:::i;:::-;;8177:96;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8177:96:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1863:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1863:101:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5640:125;;;:::i;:::-;;5112:94;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5112:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5565:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8543:249;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8543:249:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4835:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4835:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11488:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11488:200:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10707:196;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10707:196:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7641:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7981:90;;;:::i;:::-;;9405:249;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9405:249:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7872:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8278:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8278:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8992:121;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8992:121:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7741:126;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7741:126:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2115:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2115:125:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5770:100;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5770:100:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4756:74;4793:13;4820:5;4813:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4756:74;:::o;11125:163::-;11236:4;11194:10;11206;11218:7;6844:12;;;;;;;;;;;6843:13;6835:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6901:27;6917:10;6901:15;:27::i;:::-;6900:28;6892:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6986:4;6972:18;;:10;:18;;;6968:99;;7007:21;7023:4;7007:15;:21::i;:::-;7006:22;6998:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6968:99;7082:19;7098:2;7082:15;:19::i;:::-;7081:20;7073:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11254:29;11268:7;11277:5;11254:13;:29::i;:::-;11247:36;;11125:163;;;;;;;:::o;1776:82::-;1820:7;1841:12;;1834:19;;1776:82;:::o;8076:96::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8136:5;8121:12;;:20;;;;;;;;;;;;;;;;;;8152:15;;;;;;;;;;8076:96::o;9659:249::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9792:4;9757:39;;:13;:22;9771:7;9757:22;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:39;;;9749:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9865:38;9887:7;9896:6;9865:21;:38::i;:::-;9659:249;;:::o;10908:212::-;11060:4;10995:10;11007:4;11013:2;6844:12;;;;;;;;;;;6843:13;6835:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6901:27;6917:10;6901:15;:27::i;:::-;6900:28;6892:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6986:4;6972:18;;:10;:18;;;6968:99;;7007:21;7023:4;7007:15;:21::i;:::-;7006:22;6998:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6968:99;7082:19;7098:2;7082:15;:19::i;:::-;7081:20;7073:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11036:4;11042:5;7246:4;7214:36;;:13;:19;7228:4;7214:19;;;;;;;;;;;;;;;:28;;;;;;;;;;;;:36;;;7211:137;;;7302:6;7266:13;:19;7280:4;7266:19;;;;;;;;;;;;;;;:32;;;:42;;7258:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7211:137;11080:35;11099:4;11105:2;11109:5;11080:18;:35::i;:::-;11073:42;;7393:4;7361:36;;:13;:19;7375:4;7361:19;;;;;;;;;;;;;;;:28;;;;;;;;;;;;:36;;;7358:88;;;7405:35;7427:4;7433:6;7405:21;:35::i;:::-;7358:88;7139:1;;10908:212;;;;;;;;:::o;8797:179::-;8874:4;8880:7;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8902:13;:22;8916:7;8902:22;;;;;;;;;;;;;;;:31;;;;;;;;;;;;8935:13;:22;8949:7;8935:22;;;;;;;;;;;;;;;:35;;;8894:77;;;;8797:179;;;:::o;4918:74::-;4959:5;4978:9;;;;;;;;;;;4971:16;;4918:74;:::o;11293:190::-;11416:4;11374:10;11386;11398:7;6844:12;;;;;;;;;;;6843:13;6835:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6901:27;6917:10;6901:15;:27::i;:::-;6900:28;6892:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6986:4;6972:18;;:10;:18;;;6968:99;;7007:21;7023:4;7007:15;:21::i;:::-;7006:22;6998:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6968:99;7082:19;7098:2;7082:15;:19::i;:::-;7081:20;7073:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11434:44;11458:7;11467:10;11434:23;:44::i;:::-;11427:51;;11293:190;;;;;;;:::o;9118:282::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9232:4;9197:39;;:13;:22;9211:7;9197:22;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:39;;;9189:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9309:5;9275:13;:22;9289:7;9275:22;;;;;;;;;;;;;;;:31;;;:39;;;;;;;;;;;;;;;;;;9357:1;9319:13;:22;9333:7;9319:22;;;;;;;;;;;;;;;:35;;:39;;;;9368:27;9387:7;9368:27;;;;;;;;;;;;;;;;;;;;;;9118:282;:::o;5035:72::-;5077:25;5083:10;5095:6;5077:5;:25::i;:::-;5035:72;:::o;8177:96::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8237:31;8250:7;6190:12;8237;:31::i;:::-;8177:96;:::o;1863:101::-;1920:7;1941:9;:18;1951:7;1941:18;;;;;;;;;;;;;;;;1934:25;;1863:101;;;:::o;5640:125::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5733:1;5696:40;;5717:6;;;;;;;;;;;5696:40;;;;;;;;;;;;5758:1;5741:6;;:19;;;;;;;;;;;;;;;;;;5640:125::o;5112:94::-;5175:26;5185:7;5194:6;5175:9;:26::i;:::-;5112:94;;:::o;5565:70::-;5603:7;5624:6;;;;;;;;;;;5617:13;;5565:70;:::o;8543:249::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8636:1;8609:14;:23;8624:7;8609:23;;;;;;;;;;;;;;;;:28;8605:183;;8645:23;8671:14;:23;8686:7;8671:23;;;;;;;;;;;;;;;;8645:49;;8707:14;:23;8722:7;8707:23;;;;;;;;;;;;;;;8700:30;;;8741:41;8757:7;8766:15;8741:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;8605:183;;8543:249;:::o;4835:78::-;4874:13;4901:7;4894:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4835:78;:::o;11488:200::-;11616:4;11574:10;11586;11598:7;6844:12;;;;;;;;;;;6843:13;6835:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6901:27;6917:10;6901:15;:27::i;:::-;6900:28;6892:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6986:4;6972:18;;:10;:18;;;6968:99;;7007:21;7023:4;7007:15;:21::i;:::-;7006:22;6998:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6968:99;7082:19;7098:2;7082:15;:19::i;:::-;7081:20;7073:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11634:49;11658:7;11667:15;11634:23;:49::i;:::-;11627:56;;11488:200;;;;;;;:::o;10707:196::-;10853:4;10776:10;10788;10800:2;6844:12;;;;;;;;;;;6843:13;6835:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6901:27;6917:10;6901:15;:27::i;:::-;6900:28;6892:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6986:4;6972:18;;:10;:18;;;6968:99;;7007:21;7023:4;7007:15;:21::i;:::-;7006:22;6998:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6968:99;7082:19;7098:2;7082:15;:19::i;:::-;7081:20;7073:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10823:10;10835:5;7246:4;7214:36;;:13;:19;7228:4;7214:19;;;;;;;;;;;;;;;:28;;;;;;;;;;;;:36;;;7211:137;;;7302:6;7266:13;:19;7280:4;7266:19;;;;;;;;;;;;;;;:32;;;:42;;7258:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7211:137;10873:25;10888:2;10892:5;10873:14;:25::i;:::-;10866:32;;7393:4;7361:36;;:13;:19;7375:4;7361:19;;;;;;;;;;;;;;;:28;;;;;;;;;;;;:36;;;7358:88;;;7405:35;7427:4;7433:6;7405:21;:35::i;:::-;7358:88;7139:1;;10707:196;;;;;;;:::o;7641:95::-;7701:4;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7719:12;;;;;;;;;;;7712:19;;7641:95;:::o;7981:90::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8039:4;8024:12;;:19;;;;;;;;;;;;;;;;;;8053:13;;;;;;;;;;7981:90::o;9405:249::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9538:4;9503:39;;:13;:22;9517:7;9503:22;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:39;;;9495:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9611:38;9633:7;9642:6;9611:21;:38::i;:::-;9405:249;;:::o;7872:104::-;7924:7;7945:14;:26;7960:10;7945:26;;;;;;;;;;;;;;;;7938:33;;7872:104;:::o;8278:106::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8352:27;8365:7;8374:4;8352:12;:27::i;:::-;8278:106;;:::o;8992:121::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9075:33;9092:7;9101:6;9075:16;:33::i;:::-;8992:121;;:::o;7741:126::-;7818:7;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7839:14;:23;7854:7;7839:23;;;;;;;;;;;;;;;;7832:30;;7741:126;;;:::o;2115:125::-;2187:7;2208:11;:18;2220:5;2208:18;;;;;;;;;;;;;;;:27;2227:7;2208:27;;;;;;;;;;;;;;;;2201:34;;2115:125;;;;:::o;5770:100::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5837:28;5856:8;5837:18;:28::i;:::-;5770:100;:::o;7455:181::-;7520:4;7562:15;7535:14;:23;7550:7;7535:23;;;;;;;;;;;;;;;;:42;7531:101;;7592:4;7585:11;;;;7531:101;7621:5;7614:12;;7455:181;;;;:::o;2245:133::-;2310:4;2321:36;2330:10;2342:7;2351:5;2321:8;:36::i;:::-;2369:4;2362:11;;2245:133;;;;:::o;10095:177::-;10172:11;10224:6;10186:13;:22;10200:7;10186:22;;;;;;;;;;;;;;;:35;;;:44;10172:58;;10237:30;10254:7;10263:3;10237:16;:30::i;:::-;10095:177;;;:::o;2383:235::-;2472:4;2483:36;2493:6;2501:9;2512:6;2483:9;:36::i;:::-;2524:73;2533:6;2541:10;2553:43;2589:6;2553:11;:19;2565:6;2553:19;;;;;;;;;;;;;;;:31;2573:10;2553:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;2524:8;:73::i;:::-;2609:4;2602:11;;2383:235;;;;;:::o;2623:191::-;2703:4;2714:79;2723:10;2735:7;2744:48;2781:10;2744:11;:23;2756:10;2744:23;;;;;;;;;;;;;;;:32;2768:7;2744:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;2714:8;:79::i;:::-;2805:4;2798:11;;2623:191;;;;:::o;3712:279::-;3800:1;3781:21;;:7;:21;;;;3773:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3862:23;3879:5;3862:12;;:16;;:23;;;;:::i;:::-;3847:12;:38;;;;3911:29;3934:5;3911:9;:18;3921:7;3911:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;3890:9;:18;3900:7;3890:18;;;;;;;;;;;;;;;:50;;;;3976:1;3950:36;;3959:7;3950:36;;;3980:5;3950:36;;;;;;;;;;;;;;;;;;3712:279;;:::o;8389:149::-;5506:6;;;;;;;;;;;5492:20;;:10;:20;;;5484:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8491:4;8465:14;:23;8480:7;8465:23;;;;;;;;;;;;;;;:30;;;;8505:28;8519:7;8528:4;8505:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;8389:149;;:::o;4309:173::-;4375:22;4381:7;4390:6;4375:5;:22::i;:::-;4402:75;4411:7;4420:10;4432:44;4469:6;4432:11;:20;4444:7;4432:20;;;;;;;;;;;;;;;:32;4453:10;4432:32;;;;;;;;;;;;;;;;:36;;:44;;;;:::i;:::-;4402:8;:75::i;:::-;4309:173;;:::o;2819:201::-;2904:4;2915:84;2924:10;2936:7;2945:53;2982:15;2945:11;:23;2957:10;2945:23;;;;;;;;;;;;;;;:32;2969:7;2945:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;2915:8;:84::i;:::-;3011:4;3004:11;;2819:201;;;;:::o;1969:141::-;2038:4;2049:40;2059:10;2071:9;2082:6;2049:9;:40::i;:::-;2101:4;2094:11;;1969:141;;;;:::o;9913:177::-;9990:11;10013:13;:22;10027:7;10013:22;;;;;;;;;;;;;;;:35;;;10004:6;:44;9990:58;;10055:30;10072:7;10081:3;10055:16;:30::i;:::-;9913:177;;;:::o;10277:377::-;10385:12;10363:18;10373:7;10363:9;:18::i;:::-;:34;;10355:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10488:5;10453:40;;:13;:22;10467:7;10453:22;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:40;;;10450:95;;;10535:4;10501:13;:22;10515:7;10501:22;;;;;;;;;;;;;;;:31;;;:38;;;;;;;;;;;;;;;;;;10450:95;10587:12;10549:13;:22;10563:7;10549:22;;;;;;;;;;;;;;;:35;;:50;;;;10609:40;10627:7;10636:12;10609:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;10277:377;;:::o;5875:208::-;5963:1;5943:22;;:8;:22;;;;5935:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6047:8;6018:38;;6039:6;;;;;;;;;;;6018:38;;;;;;;;;;;;6070:8;6061:6;;:17;;;;;;;;;;;;;;;;;;5875:208;:::o;3996:308::-;4100:1;4083:19;;:5;:19;;;;4075:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4175:1;4156:21;;:7;:21;;;;4148:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4253:5;4223:11;:18;4235:5;4223:18;;;;;;;;;;;;;;;:27;4242:7;4223:27;;;;;;;;;;;;;;;:35;;;;4284:7;4268:31;;4277:5;4268:31;;;4293:5;4268:31;;;;;;;;;;;;;;;;;;3996:308;;;:::o;3025:396::-;3135:1;3117:20;;:6;:20;;;;3109:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3213:1;3192:23;;:9;:23;;;;3184:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:29;3304:6;3282:9;:17;3292:6;3282:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;3262:9;:17;3272:6;3262:17;;;;;;;;;;;;;;;:49;;;;3339:32;3364:6;3339:9;:20;3349:9;3339:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3316:9;:20;3326:9;3316:20;;;;;;;;;;;;;;;:55;;;;3398:9;3381:35;;3390:6;3381:35;;;3409:6;3381:35;;;;;;;;;;;;;;;;;;3025:396;;;:::o;870:163::-;928:7;955:1;950;:6;;942:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;996:9;1012:1;1008;:5;996:17;;1027:1;1020:8;;;870:163;;;;:::o;705:160::-;763:7;777:9;793:1;789;:5;777:17;;812:1;807;:6;;799:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;859:1;852:8;;;705:160;;;;:::o

Swarm Source

bzzr://7e9ab3b5a91bae031f102e217a1be193cbe2ea2954260868770750e5e5cf9524
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.