ERC-20
Overview
Max Total Supply
1,550,000 MTR
Holders
58
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MatterToken
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 0 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-09-19 */ pragma solidity 0.4.24; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (_a == 0) { return 0; } c = _a * _b; assert(c / _a == _b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 _a, uint256 _b) internal pure returns (uint256) { // assert(_b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = _a / _b; // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold return _a / _b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 _a, uint256 _b) internal pure returns (uint256) { assert(_b <= _a); return _a - _b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) { c = _a + _b; assert(c >= _a); return c; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * See https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address _who) public view returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) internal balances; uint256 internal totalSupply_; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev Transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns (bool) { require(_value <= balances[msg.sender]); require(_to != address(0)); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address _owner, address _spender) public view returns (uint256); function transferFrom(address _from, address _to, uint256 _value) public returns (bool); function approve(address _spender, uint256 _value) public returns (bool); event Approval( address indexed owner, address indexed spender, uint256 value ); } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * https://github.com/ethereum/EIPs/issues/20 * Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom( address _from, address _to, uint256 _value ) public returns (bool) { require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); require(_to != address(0)); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance( address _owner, address _spender ) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval( address _spender, uint256 _addedValue ) public returns (bool) { allowed[msg.sender][_spender] = ( allowed[msg.sender][_spender].add(_addedValue)); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval( address _spender, uint256 _subtractedValue ) public returns (bool) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } /** * @title DetailedERC20 token * @dev The decimals are only for visualization purposes. * All the operations are done using the smallest and indivisible token unit, * just as on Ethereum all the operations are done in wei. */ contract DetailedERC20 is ERC20 { string public name; string public symbol; uint8 public decimals; constructor(string _name, string _symbol, uint8 _decimals) public { name = _name; symbol = _symbol; decimals = _decimals; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to relinquish control of the contract. * @notice Renouncing to ownership will leave the contract without an owner. * It will not be possible to call the functions with the `onlyOwner` * modifier anymore. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function transferOwnership(address _newOwner) public onlyOwner { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner whenNotPaused { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner whenPaused { paused = false; emit Unpause(); } } /** * @title Pausable token * @dev StandardToken modified with pausable transfers. **/ contract PausableToken is StandardToken, Pausable { function transfer( address _to, uint256 _value ) public whenNotPaused returns (bool) { return super.transfer(_to, _value); } function transferFrom( address _from, address _to, uint256 _value ) public whenNotPaused returns (bool) { return super.transferFrom(_from, _to, _value); } function approve( address _spender, uint256 _value ) public whenNotPaused returns (bool) { return super.approve(_spender, _value); } function increaseApproval( address _spender, uint _addedValue ) public whenNotPaused returns (bool success) { return super.increaseApproval(_spender, _addedValue); } function decreaseApproval( address _spender, uint _subtractedValue ) public whenNotPaused returns (bool success) { return super.decreaseApproval(_spender, _subtractedValue); } } /** * @title Mintable token * @dev Simple ERC20 Token example, with mintable token creation * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol */ contract MintableToken is StandardToken, Ownable { event Mint(address indexed to, uint256 amount); event MintFinished(); bool public mintingFinished = false; modifier canMint() { require(!mintingFinished); _; } modifier hasMintPermission() { require(msg.sender == owner); _; } /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint( address _to, uint256 _amount ) public hasMintPermission canMint returns (bool) { totalSupply_ = totalSupply_.add(_amount); balances[_to] = balances[_to].add(_amount); emit Mint(_to, _amount); emit Transfer(address(0), _to, _amount); return true; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() public onlyOwner canMint returns (bool) { mintingFinished = true; emit MintFinished(); return true; } } /** * @title Capped token * @dev Mintable token with a token cap. */ contract CappedToken is MintableToken { uint256 public cap; constructor(uint256 _cap) public { require(_cap > 0); cap = _cap; } /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint( address _to, uint256 _amount ) public returns (bool) { require(totalSupply_.add(_amount) <= cap); return super.mint(_to, _amount); } } /** * @title Burnable Token * @dev Token that can be irreversibly burned (destroyed). */ contract BurnableToken is BasicToken { event Burn(address indexed burner, uint256 value); /** * @dev Burns a specific amount of tokens. * @param _value The amount of token to be burned. */ function burn(uint256 _value) public { _burn(msg.sender, _value); } function _burn(address _who, uint256 _value) internal { require(_value <= balances[_who]); // no need to require value <= totalSupply, since that would imply the // sender's balance is greater than the totalSupply, which *should* be an assertion failure balances[_who] = balances[_who].sub(_value); totalSupply_ = totalSupply_.sub(_value); emit Burn(_who, _value); emit Transfer(_who, address(0), _value); } } contract MatterToken is DetailedERC20, StandardToken, PausableToken, CappedToken, BurnableToken { using SafeMath for uint256; event MintApprovalChanged(address indexed minter, uint256 newValue); event MintWithData(address indexed to, uint256 amount, bytes data); mapping (address => uint256) mintApprovals; // Override modifier from parent MintableToken contract. We allow anyone // to mint, but explicitly check approval in the function code. modifier hasMintPermission() { _; } constructor(uint256 _cap, address[] _holders, uint256[] _amounts) DetailedERC20("Matter", "MTR", 18) CappedToken(_cap) public { require( _holders.length == _amounts.length, "_holers and _amounts contain different number of items" ); for (uint256 i = 0; i < _holders.length; ++i) { address holder = _holders[i]; uint256 amount = _amounts[i]; totalSupply_ = totalSupply_.add(amount); balances[holder] = balances[holder].add(amount); emit Mint(holder, amount); emit Transfer(address(0), holder, amount); } require(totalSupply_ <= _cap, "initial total supply is more than cap"); } function burn(uint256 _value) public whenNotPaused { super.burn(_value); } function batchTransfer(address[] _to, uint256[] _amounts) public whenNotPaused { require(_to.length == _amounts.length, "_to and _amounts contain different number of items"); for (uint256 i = 0; i < _to.length; ++i) { transfer(_to[i], _amounts[i]); } } function batchMint(address[] _to, uint256[] _amounts) public whenNotPaused { require(_to.length == _amounts.length, "_to and _amounts contain different number of items"); uint256 totalAmount = 0; for (uint256 i = 0; i < _to.length; ++i) { totalAmount = totalAmount.add(_amounts[i]); super.mint(_to[i], _amounts[i]); } _decreaseMintApprovalAfterMint(msg.sender, totalAmount); } function batchMintWithData(address[] _to, uint256[] _amounts, bytes _data) public whenNotPaused { require(_to.length == _amounts.length, "_to and _amounts contain different number of items"); uint256 totalAmount = 0; for (uint256 i = 0; i < _to.length; ++i) { emit MintWithData(_to[i], _amounts[i], _data); totalAmount = totalAmount.add(_amounts[i]); super.mint(_to[i], _amounts[i]); } _decreaseMintApprovalAfterMint(msg.sender, totalAmount); } function mint(address _to, uint256 _amount) public whenNotPaused returns (bool) { _decreaseMintApprovalAfterMint(msg.sender, _amount); return super.mint(_to, _amount); } function mintWithData(address _to, uint256 _amount, bytes _data) public whenNotPaused returns (bool) { _decreaseMintApprovalAfterMint(msg.sender, _amount); emit MintWithData(_to, _amount, _data); return super.mint(_to, _amount); } function _decreaseMintApprovalAfterMint(address _minter, uint256 _mintedAmount) internal { if (_minter != owner) { uint256 approval = mintApprovals[_minter]; require(approval >= _mintedAmount, "mint approval is insufficient to mint this amount"); mintApprovals[_minter] = approval.sub(_mintedAmount); } } function increaseMintApproval(address _minter, uint256 _addedValue) public whenNotPaused onlyOwner { require(_minter != owner, "cannot set mint approval for owner"); mintApprovals[_minter] = mintApprovals[_minter].add(_addedValue); emit MintApprovalChanged(_minter, mintApprovals[_minter]); } function decreaseMintApproval(address _minter, uint256 _subtractedValue) public whenNotPaused onlyOwner { require(_minter != owner, "cannot set mint approval for owner"); uint256 approval = mintApprovals[_minter]; if (_subtractedValue >= approval) { mintApprovals[_minter] = 0; } else { mintApprovals[_minter] = approval.sub(_subtractedValue); } emit MintApprovalChanged(_minter, mintApprovals[_minter]); } function getMintApproval(address _minter) public view returns (uint256) { return mintApprovals[_minter]; } function getMintLimit(address _minter) public view returns (uint256) { uint256 capLeft = cap.sub(totalSupply_); if (_minter == owner) { return capLeft; } uint256 approval = mintApprovals[_minter]; return approval < capLeft ? approval : capLeft; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"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":"_minter","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseMintApproval","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":"_minter","type":"address"}],"name":"getMintLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address[]"},{"name":"_amounts","type":"uint256[]"},{"name":"_data","type":"bytes"}],"name":"batchMintWithData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minter","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseMintApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"batchMint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","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":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"batchTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"mintWithData","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_minter","type":"address"}],"name":"getMintApproval","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"_cap","type":"uint256"},{"name":"_holders","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"minter","type":"address"},{"indexed":false,"name":"newValue","type":"uint256"}],"name":"MintApprovalChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"data","type":"bytes"}],"name":"MintWithData","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60806040526000600660146101000a81548160ff0219169083151502179055506000600660156101000a81548160ff0219169083151502179055503480156200004757600080fd5b5060405162003766380380620037668339810180604052810190808051906020019092919080518201929190602001805182019291905050506000806000856040805190810160405280600681526020017f4d617474657200000000000000000000000000000000000000000000000000008152506040805190810160405280600381526020017f4d54520000000000000000000000000000000000000000000000000000000000815250601282600090805190602001906200010c929190620004dc565b50816001908051906020019062000125929190620004dc565b5080600260006101000a81548160ff021916908360ff16021790555050505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000811115156200019557600080fd5b8060078190555050835185511415156200023d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f5f686f6c65727320616e64205f616d6f756e747320636f6e7461696e2064696681526020017f666572656e74206e756d626572206f66206974656d730000000000000000000081525060400191505060405180910390fd5b600092505b8451831015620004125784838151811015156200025b57fe5b90602001906020020151915083838151811015156200027657fe5b906020019060200201519050620002a781600454620004bf64010000000002620024b7179091906401000000009004565b6004819055506200030f81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620004bf64010000000002620024b7179091906401000000009004565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a382600101925062000242565b8560045411151515620004b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f696e697469616c20746f74616c20737570706c79206973206d6f72652074686181526020017f6e2063617000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050506200058b565b60008183019050828110151515620004d357fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200051f57805160ff191683800117855562000550565b8280016001018555821562000550579182015b828111156200054f57825182559160200191906001019062000532565b5b5090506200055f919062000563565b5090565b6200058891905b80821115620005845760008160009055506001016200056a565b5090565b90565b6131cb806200059b6000396000f300608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461018557806306fdde03146101b4578063095ea7b31461024457806318160ddd146102a95780631b0a68f2146102d457806323b872dd1461032157806327a3fe41146103a65780632863cd7e146103fd578063313ce567146104ec578063355274ea1461051d578063359fe780146105485780633f4ba83a1461059557806340c10f19146105ac57806342966c68146106115780635c975abb1461063e578063661884631461066d57806368573107146106d257806370a082311461077b578063715018a6146107d25780637d64bcb4146107e95780638456cb591461081857806388d695b21461082f5780638da5cb5b146108d857806395d89b411461092f57806396adfe42146109bf578063993c78fa14610a6a578063a9059cbb14610ac1578063d73dd62314610b26578063dd62ed3e14610b8b578063f2fde38b14610c02575b600080fd5b34801561019157600080fd5b5061019a610c45565b604051808215151515815260200191505060405180910390f35b3480156101c057600080fd5b506101c9610c58565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102095780820151818401526020810190506101ee565b50505050905090810190601f1680156102365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025057600080fd5b5061028f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cf6565b604051808215151515815260200191505060405180910390f35b3480156102b557600080fd5b506102be610d26565b6040518082815260200191505060405180910390f35b3480156102e057600080fd5b5061031f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d30565b005b34801561032d57600080fd5b5061038c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611014565b604051808215151515815260200191505060405180910390f35b3480156103b257600080fd5b506103e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611046565b6040518082815260200191505060405180910390f35b34801561040957600080fd5b506104ea6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061111d565b005b3480156104f857600080fd5b50610501611357565b604051808260ff1660ff16815260200191505060405180910390f35b34801561052957600080fd5b5061053261136a565b6040518082815260200191505060405180910390f35b34801561055457600080fd5b50610593600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611370565b005b3480156105a157600080fd5b506105aa6115fa565b005b3480156105b857600080fd5b506105f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ba565b604051808215151515815260200191505060405180910390f35b34801561061d57600080fd5b5061063c600480360381019080803590602001909291905050506116f4565b005b34801561064a57600080fd5b5061065361171c565b604051808215151515815260200191505060405180910390f35b34801561067957600080fd5b506106b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061172f565b604051808215151515815260200191505060405180910390f35b3480156106de57600080fd5b50610779600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061175f565b005b34801561078757600080fd5b506107bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118af565b6040518082815260200191505060405180910390f35b3480156107de57600080fd5b506107e76118f8565b005b3480156107f557600080fd5b506107fe6119fd565b604051808215151515815260200191505060405180910390f35b34801561082457600080fd5b5061082d611ac5565b005b34801561083b57600080fd5b506108d66004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611b86565b005b3480156108e457600080fd5b506108ed611c9a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093b57600080fd5b50610944611cc0565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610984578082015181840152602081019050610969565b50505050905090810190601f1680156109b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109cb57600080fd5b50610a50600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611d5e565b604051808215151515815260200191505060405180910390f35b348015610a7657600080fd5b50610aab600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e54565b6040518082815260200191505060405180910390f35b348015610acd57600080fd5b50610b0c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e9d565b604051808215151515815260200191505060405180910390f35b348015610b3257600080fd5b50610b71600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ecd565b604051808215151515815260200191505060405180910390f35b348015610b9757600080fd5b50610bec600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611efd565b6040518082815260200191505060405180910390f35b348015610c0e57600080fd5b50610c43600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f84565b005b600660159054906101000a900460ff1681565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b505050505081565b6000600660149054906101000a900460ff16151515610d1457600080fd5b610d1e8383611fec565b905092915050565b6000600454905090565b6000600660149054906101000a900460ff16151515610d4e57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610daa57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f63616e6e6f7420736574206d696e7420617070726f76616c20666f72206f776e81526020017f657200000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508082101515610f2b576000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f82565b610f3e82826120de90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff167f46259e028499e933bff8c8a08db9d45ff5263cd79eec26f746e2443c6f142ce2600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a2505050565b6000600660149054906101000a900460ff1615151561103257600080fd5b61103d8484846120f7565b90509392505050565b60008060006110626004546007546120de90919063ffffffff16565b9150600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156110c257819250611116565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181106111115781611113565b805b92505b5050919050565b600080600660149054906101000a900460ff1615151561113c57600080fd5b835185511415156111db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5f746f20616e64205f616d6f756e747320636f6e7461696e206469666665726581526020017f6e74206e756d626572206f66206974656d73000000000000000000000000000081525060400191505060405180910390fd5b60009150600090505b84518110156113465784818151811015156111fb57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167f1970722e93e5fcc5f1a522da1002501de9adf02ec26a6ecae997b6eb1477690a858381518110151561124a57fe5b90602001906020020151856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561129b578082015181840152602081019050611280565b50505050905090810190601f1680156112c85780820380516001836020036101000a031916815260200191505b50935050505060405180910390a261130084828151811015156112e757fe5b90602001906020020151836124b790919063ffffffff16565b915061133a858281518110151561131357fe5b90602001906020020151858381518110151561132b57fe5b906020019060200201516124d3565b508060010190506111e4565b611350338361250c565b5050505050565b600260009054906101000a900460ff1681565b60075481565b600660149054906101000a900460ff1615151561138c57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113e857600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156114d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f63616e6e6f7420736574206d696e7420617070726f76616c20666f72206f776e81526020017f657200000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61152681600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b790919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f46259e028499e933bff8c8a08db9d45ff5263cd79eec26f746e2443c6f142ce2600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a25050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561165657600080fd5b600660149054906101000a900460ff16151561167157600080fd5b6000600660146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600660149054906101000a900460ff161515156116d857600080fd5b6116e2338361250c565b6116ec83836124d3565b905092915050565b600660149054906101000a900460ff1615151561171057600080fd5b611719816126a1565b50565b600660149054906101000a900460ff1681565b6000600660149054906101000a900460ff1615151561174d57600080fd5b61175783836126ae565b905092915050565b600080600660149054906101000a900460ff1615151561177e57600080fd5b8251845114151561181d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5f746f20616e64205f616d6f756e747320636f6e7461696e206469666665726581526020017f6e74206e756d626572206f66206974656d73000000000000000000000000000081525060400191505060405180910390fd5b60009150600090505b835181101561189f57611859838281518110151561184057fe5b90602001906020020151836124b790919063ffffffff16565b9150611893848281518110151561186c57fe5b90602001906020020151848381518110151561188457fe5b906020019060200201516124d3565b50806001019050611826565b6118a9338361250c565b50505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561195457600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a5b57600080fd5b600660159054906101000a900460ff16151515611a7757600080fd5b6001600660156101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b2157600080fd5b600660149054906101000a900460ff16151515611b3d57600080fd5b6001600660146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000600660149054906101000a900460ff16151515611ba457600080fd5b81518351141515611c43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5f746f20616e64205f616d6f756e747320636f6e7461696e206469666665726581526020017f6e74206e756d626572206f66206974656d73000000000000000000000000000081525060400191505060405180910390fd5b600090505b8251811015611c9557611c898382815181101515611c6257fe5b906020019060200201518383815181101515611c7a57fe5b90602001906020020151611e9d565b50806001019050611c48565b505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d565780601f10611d2b57610100808354040283529160200191611d56565b820191906000526020600020905b815481529060010190602001808311611d3957829003601f168201915b505050505081565b6000600660149054906101000a900460ff16151515611d7c57600080fd5b611d86338461250c565b8373ffffffffffffffffffffffffffffffffffffffff167f1970722e93e5fcc5f1a522da1002501de9adf02ec26a6ecae997b6eb1477690a84846040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611e06578082015181840152602081019050611deb565b50505050905090810190601f168015611e335780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2611e4b84846124d3565b90509392505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600660149054906101000a900460ff16151515611ebb57600080fd5b611ec58383612940565b905092915050565b6000600660149054906101000a900460ff16151515611eeb57600080fd5b611ef58383612b65565b905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fe057600080fd5b611fe981612d61565b50565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008282111515156120ec57fe5b818303905092915050565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561214757600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156121d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561220e57600080fd5b61226082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120de90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122f582600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b790919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123c782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120de90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600081830190508281101515156124ca57fe5b80905092915050565b60006007546124ed836004546124b790919063ffffffff16565b111515156124fa57600080fd5b6125048383612e5d565b905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561269c57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110151515612645576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001807f6d696e7420617070726f76616c20697320696e73756666696369656e7420746f81526020017f206d696e74207468697320616d6f756e7400000000000000000000000000000081525060400191505060405180910390fd5b61265882826120de90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b6126ab3382612fe9565b50565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831015156127c0576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612854565b6127d383826120de90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561299057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156129cc57600080fd5b612a1e82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120de90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ab382600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b790919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000612bf682600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b790919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612d9d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660159054906101000a900460ff16151515612e7b57600080fd5b612e90826004546124b790919063ffffffff16565b600481905550612ee882600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b790919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561303757600080fd5b61308981600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120de90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130e1816004546120de90919063ffffffff16565b6004819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820f7fffbb17d8fd0c7e2e02b66f3a406a96e720299ee212832b82585af00319ba60029000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000039000000000000000000000000767055e6a898cf6a83f181c2fd7abca4c79d845f000000000000000000000000f5f0ca3eaa4a3edebfe72a76f42a81499b75377f000000000000000000000000b87d6e886c62b017f27ac40976209ece7adbc41c0000000000000000000000002981a4b6093d504f08e3ed1746cb2eb6f887b072000000000000000000000000dc372d0e73c39f448782bc488dddad8bda59723600000000000000000000000067dfd201eaed8c53dc604814f9509004d154608e0000000000000000000000008e478097cb934fa033b111b813ff15920bc1a96400000000000000000000000036ca37a2e58009c7d37e24d3f3dd398ec78a1bf9000000000000000000000000d5bbbf454e9afc0b582bce98603cc239e1fa75ea0000000000000000000000008bb0675122567956a72a3371fa3b178bf390fcd200000000000000000000000083c81c3a35dd1a2e0f82c84ef059cf93ecf7102a0000000000000000000000003738762f841cddbe131bf66245b8887eebecd28a000000000000000000000000b480fd453d4302bcf56c3d5aa20d2267a3de5e3200000000000000000000000043fd0c7f3ae09fadb345e2d662c375674191bce100000000000000000000000000444797ba158a7bdb8302e72da98dcbccef0fbc0000000000000000000000006d9d7739d076d5cc4c1084f55297d9cdb908c6e8000000000000000000000000cff58286faf8a80da8474f890bd82c784b64c4e0000000000000000000000000984f05aba983c2c17b2fd1b5d48691121dcb51c5000000000000000000000000b6d0a3120c0e13749c211f48fccd9458dfc99bd0000000000000000000000000165540b886924e5214933a52039b1060f90eee6e000000000000000000000000dbddb6bc594448cc6475f39abb1ff8e6f0ce0c9d0000000000000000000000009e3779b51441e2c017a128a0bb353b68131be15e000000000000000000000000090ea986edc3045b8f5c23c927e209b64ac6e2ea0000000000000000000000004bf8b696b3cf1c1c9c99199c36de8e01ed0a276a000000000000000000000000856591f79996da2ace118bf4786fb5c539afe2b30000000000000000000000004de0e4d5dcadc7d17a9ade42c00d998a05d76f54000000000000000000000000a7b001be32f2c954f726f94281b796889071cf58000000000000000000000000e380131bbcb94590120c6840bb6f77bb96138fdf000000000000000000000000a392a53277b33a35d018c3a77c06be1befe6d918000000000000000000000000d8804c0dc86a28b39953069f6f5d41a5e2b4f73b000000000000000000000000026dcaf1704c66d7cfb63a853252c7401672f99400000000000000000000000032a4e9d38a235e6c7e34017902b81846692ca5770000000000000000000000007124621c522b69e0969064fcd592ac7097b1305b000000000000000000000000e025cf914bc3b77f36cd0061add7912dabeef49f0000000000000000000000000634c54ce082404d03849b4eee14cb3537525e010000000000000000000000009b5e08dc22712543a687d765df3c54f86b6fadc9000000000000000000000000b30588c43b9ecfe7bae953d1e11cde9cc33f8f4d000000000000000000000000321205e2850144055fbc9dd7d73be05f1f9a219c0000000000000000000000003ed8df19c18ded608c6efb110ec3e2f7322639850000000000000000000000005883575a904bd6cf7dfcbcac9be57ebde38437db0000000000000000000000006d1ea6358c74d10f89c81369da03b53d4651bbad0000000000000000000000005767612fe860a5646769d28035a984cda5fd1dab0000000000000000000000005e80a5fd71c5cba9cfc7475f2c3c17460274cade00000000000000000000000082fa248cc9de08bfa5f553b45e00c151001ccfef000000000000000000000000acbb66b4d064c0037d47d0c74e2e98232eee34a0000000000000000000000000eda1a154e78bea2930fc8895811c4cb2a588be0b000000000000000000000000a3651f9829c7ddb276cbcf22f128282a502169cb000000000000000000000000167dea44b6c66a7ac5345e8cf8614c879ee27cf9000000000000000000000000737c53e898ecf14deb98c251538c0702b90f6647000000000000000000000000cf7f61a02780526f579427bd806170ce53c7a442000000000000000000000000392e7943175e5b07a7a8f5960b72de960622a1f8000000000000000000000000fb53722b247f20cea62968543c6a0e342cd6c63f000000000000000000000000f4b15ef519bc50798cb105996a7fed9082f9e61600000000000000000000000085ebe2e8170586422327fdb9b6c1e433842e28b800000000000000000000000051d7cd974d143b5e0041852298f31cde254bda26000000000000000000000000299d8ab32ea99450419bbc530d5ae4742970d25b000000000000000000000000bbdde5b1490e33190f3906f750e4e6ca46f6b65c000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000001225639debc68ef27000000000000000000000000000000000000000000000000054b40b1f852bda00000000000000000000000000000000000000000000000000547d665021c8c0400000000000000000000000000000000000000000000000003486fec8ed658bd000000000000000000000000000000000000000000000000032759e4d181149400000000000000000000000000000000000000000000000002544faa778090e0000000000000000000000000000000000000000000000000022f72c52a4bef40000000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000001d234f9a33f476000000000000000000000000000000000000000000000000001b1ae4d6e2ef50000000000000000000000000000000000000000000000000001a98ca260eae068000000000000000000000000000000000000000000000000016b25e9a9b4e8420000000000000000000000000000000000000000000000000148067e786d90ac00000000000000000000000000000000000000000000000001387d43ea4edd30780000000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000c789e3fc51f26d08000000000000000000000000000000000000000000000000b2e4b323d9c51000000000000000000000000000000000000000000000000000b02ecf74c31388000000000000000000000000000000000000000000000000006c6b935b8bbd40000000000000000000000000000000000000000000000000005188315f776b80000000000000000000000000000000000000000000000000005150ae84a8cdf0000000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000001b1ae4d6e2ef50000000000000000000000000000000000000000000000000001b1ae4d6e2ef50000000000000000000000000000000000000000000000000001043561a88293000000000000000000000000000000000000000000000000000093739534d286800000000000000000000000000000000000000000000000000072c08050b682e00000000000000000000000000000000000000000000000000056bc75e2d631000000000000000000000000000000000000000000000000000028c418afbbb5c0000000000000000000000000000000000000000000000000002629f66e0c53000000000000000000000000000000000000000000000000000025286410621bc0000000000000000000000000000000000000000000000000001ce215d91ac820000000000000000000000000000000000000000000000000001a055690d9db800000000000000000000000000000000000000000000000000015af1d78b58c40000000000000000000000000000000000000000000000000001158e460913d00000000000000000000000000000000000000000000000000001158e460913d00000000000000000000000000000000000000000000000000000c93a592cfb2a0000000000000000000000000000000000000000000000000000c93a592cfb2a0000000000000000000000000000000000000000000000000000b893178898b2000000000000000000000000000000000000000000000000000098a7d9b8314c00000000000000000000000000000000000000000000000000008ac7230489e8000000000000000000000000000000000000000000000000000053444835ec5800000000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000003e7336287142000000000000000000000000000000000000000000000000000029a2241af62c000000000000000000000000000000000000000000000000000029a2241af62c000000000000000000000000000000000000000000000000000029a2241af62c00000000000000000000000000000000000000000000000000002013be0dbdd680000000000000000000000000000000000000000000000000000f43fc2c04ee00000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000
Deployed Bytecode
0x608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461018557806306fdde03146101b4578063095ea7b31461024457806318160ddd146102a95780631b0a68f2146102d457806323b872dd1461032157806327a3fe41146103a65780632863cd7e146103fd578063313ce567146104ec578063355274ea1461051d578063359fe780146105485780633f4ba83a1461059557806340c10f19146105ac57806342966c68146106115780635c975abb1461063e578063661884631461066d57806368573107146106d257806370a082311461077b578063715018a6146107d25780637d64bcb4146107e95780638456cb591461081857806388d695b21461082f5780638da5cb5b146108d857806395d89b411461092f57806396adfe42146109bf578063993c78fa14610a6a578063a9059cbb14610ac1578063d73dd62314610b26578063dd62ed3e14610b8b578063f2fde38b14610c02575b600080fd5b34801561019157600080fd5b5061019a610c45565b604051808215151515815260200191505060405180910390f35b3480156101c057600080fd5b506101c9610c58565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102095780820151818401526020810190506101ee565b50505050905090810190601f1680156102365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025057600080fd5b5061028f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cf6565b604051808215151515815260200191505060405180910390f35b3480156102b557600080fd5b506102be610d26565b6040518082815260200191505060405180910390f35b3480156102e057600080fd5b5061031f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d30565b005b34801561032d57600080fd5b5061038c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611014565b604051808215151515815260200191505060405180910390f35b3480156103b257600080fd5b506103e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611046565b6040518082815260200191505060405180910390f35b34801561040957600080fd5b506104ea6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061111d565b005b3480156104f857600080fd5b50610501611357565b604051808260ff1660ff16815260200191505060405180910390f35b34801561052957600080fd5b5061053261136a565b6040518082815260200191505060405180910390f35b34801561055457600080fd5b50610593600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611370565b005b3480156105a157600080fd5b506105aa6115fa565b005b3480156105b857600080fd5b506105f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ba565b604051808215151515815260200191505060405180910390f35b34801561061d57600080fd5b5061063c600480360381019080803590602001909291905050506116f4565b005b34801561064a57600080fd5b5061065361171c565b604051808215151515815260200191505060405180910390f35b34801561067957600080fd5b506106b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061172f565b604051808215151515815260200191505060405180910390f35b3480156106de57600080fd5b50610779600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061175f565b005b34801561078757600080fd5b506107bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118af565b6040518082815260200191505060405180910390f35b3480156107de57600080fd5b506107e76118f8565b005b3480156107f557600080fd5b506107fe6119fd565b604051808215151515815260200191505060405180910390f35b34801561082457600080fd5b5061082d611ac5565b005b34801561083b57600080fd5b506108d66004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611b86565b005b3480156108e457600080fd5b506108ed611c9a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093b57600080fd5b50610944611cc0565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610984578082015181840152602081019050610969565b50505050905090810190601f1680156109b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109cb57600080fd5b50610a50600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611d5e565b604051808215151515815260200191505060405180910390f35b348015610a7657600080fd5b50610aab600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e54565b6040518082815260200191505060405180910390f35b348015610acd57600080fd5b50610b0c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e9d565b604051808215151515815260200191505060405180910390f35b348015610b3257600080fd5b50610b71600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ecd565b604051808215151515815260200191505060405180910390f35b348015610b9757600080fd5b50610bec600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611efd565b6040518082815260200191505060405180910390f35b348015610c0e57600080fd5b50610c43600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f84565b005b600660159054906101000a900460ff1681565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b505050505081565b6000600660149054906101000a900460ff16151515610d1457600080fd5b610d1e8383611fec565b905092915050565b6000600454905090565b6000600660149054906101000a900460ff16151515610d4e57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610daa57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f63616e6e6f7420736574206d696e7420617070726f76616c20666f72206f776e81526020017f657200000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508082101515610f2b576000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f82565b610f3e82826120de90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff167f46259e028499e933bff8c8a08db9d45ff5263cd79eec26f746e2443c6f142ce2600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a2505050565b6000600660149054906101000a900460ff1615151561103257600080fd5b61103d8484846120f7565b90509392505050565b60008060006110626004546007546120de90919063ffffffff16565b9150600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156110c257819250611116565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181106111115781611113565b805b92505b5050919050565b600080600660149054906101000a900460ff1615151561113c57600080fd5b835185511415156111db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5f746f20616e64205f616d6f756e747320636f6e7461696e206469666665726581526020017f6e74206e756d626572206f66206974656d73000000000000000000000000000081525060400191505060405180910390fd5b60009150600090505b84518110156113465784818151811015156111fb57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167f1970722e93e5fcc5f1a522da1002501de9adf02ec26a6ecae997b6eb1477690a858381518110151561124a57fe5b90602001906020020151856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561129b578082015181840152602081019050611280565b50505050905090810190601f1680156112c85780820380516001836020036101000a031916815260200191505b50935050505060405180910390a261130084828151811015156112e757fe5b90602001906020020151836124b790919063ffffffff16565b915061133a858281518110151561131357fe5b90602001906020020151858381518110151561132b57fe5b906020019060200201516124d3565b508060010190506111e4565b611350338361250c565b5050505050565b600260009054906101000a900460ff1681565b60075481565b600660149054906101000a900460ff1615151561138c57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113e857600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156114d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f63616e6e6f7420736574206d696e7420617070726f76616c20666f72206f776e81526020017f657200000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61152681600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b790919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f46259e028499e933bff8c8a08db9d45ff5263cd79eec26f746e2443c6f142ce2600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a25050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561165657600080fd5b600660149054906101000a900460ff16151561167157600080fd5b6000600660146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600660149054906101000a900460ff161515156116d857600080fd5b6116e2338361250c565b6116ec83836124d3565b905092915050565b600660149054906101000a900460ff1615151561171057600080fd5b611719816126a1565b50565b600660149054906101000a900460ff1681565b6000600660149054906101000a900460ff1615151561174d57600080fd5b61175783836126ae565b905092915050565b600080600660149054906101000a900460ff1615151561177e57600080fd5b8251845114151561181d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5f746f20616e64205f616d6f756e747320636f6e7461696e206469666665726581526020017f6e74206e756d626572206f66206974656d73000000000000000000000000000081525060400191505060405180910390fd5b60009150600090505b835181101561189f57611859838281518110151561184057fe5b90602001906020020151836124b790919063ffffffff16565b9150611893848281518110151561186c57fe5b90602001906020020151848381518110151561188457fe5b906020019060200201516124d3565b50806001019050611826565b6118a9338361250c565b50505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561195457600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a5b57600080fd5b600660159054906101000a900460ff16151515611a7757600080fd5b6001600660156101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b2157600080fd5b600660149054906101000a900460ff16151515611b3d57600080fd5b6001600660146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000600660149054906101000a900460ff16151515611ba457600080fd5b81518351141515611c43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5f746f20616e64205f616d6f756e747320636f6e7461696e206469666665726581526020017f6e74206e756d626572206f66206974656d73000000000000000000000000000081525060400191505060405180910390fd5b600090505b8251811015611c9557611c898382815181101515611c6257fe5b906020019060200201518383815181101515611c7a57fe5b90602001906020020151611e9d565b50806001019050611c48565b505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d565780601f10611d2b57610100808354040283529160200191611d56565b820191906000526020600020905b815481529060010190602001808311611d3957829003601f168201915b505050505081565b6000600660149054906101000a900460ff16151515611d7c57600080fd5b611d86338461250c565b8373ffffffffffffffffffffffffffffffffffffffff167f1970722e93e5fcc5f1a522da1002501de9adf02ec26a6ecae997b6eb1477690a84846040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611e06578082015181840152602081019050611deb565b50505050905090810190601f168015611e335780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2611e4b84846124d3565b90509392505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600660149054906101000a900460ff16151515611ebb57600080fd5b611ec58383612940565b905092915050565b6000600660149054906101000a900460ff16151515611eeb57600080fd5b611ef58383612b65565b905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fe057600080fd5b611fe981612d61565b50565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008282111515156120ec57fe5b818303905092915050565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561214757600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156121d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561220e57600080fd5b61226082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120de90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122f582600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b790919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123c782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120de90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600081830190508281101515156124ca57fe5b80905092915050565b60006007546124ed836004546124b790919063ffffffff16565b111515156124fa57600080fd5b6125048383612e5d565b905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561269c57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110151515612645576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001807f6d696e7420617070726f76616c20697320696e73756666696369656e7420746f81526020017f206d696e74207468697320616d6f756e7400000000000000000000000000000081525060400191505060405180910390fd5b61265882826120de90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b6126ab3382612fe9565b50565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831015156127c0576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612854565b6127d383826120de90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561299057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156129cc57600080fd5b612a1e82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120de90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ab382600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b790919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000612bf682600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b790919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612d9d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660159054906101000a900460ff16151515612e7b57600080fd5b612e90826004546124b790919063ffffffff16565b600481905550612ee882600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b790919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561303757600080fd5b61308981600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120de90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130e1816004546120de90919063ffffffff16565b6004819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820f7fffbb17d8fd0c7e2e02b66f3a406a96e720299ee212832b82585af00319ba60029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000039000000000000000000000000767055e6a898cf6a83f181c2fd7abca4c79d845f000000000000000000000000f5f0ca3eaa4a3edebfe72a76f42a81499b75377f000000000000000000000000b87d6e886c62b017f27ac40976209ece7adbc41c0000000000000000000000002981a4b6093d504f08e3ed1746cb2eb6f887b072000000000000000000000000dc372d0e73c39f448782bc488dddad8bda59723600000000000000000000000067dfd201eaed8c53dc604814f9509004d154608e0000000000000000000000008e478097cb934fa033b111b813ff15920bc1a96400000000000000000000000036ca37a2e58009c7d37e24d3f3dd398ec78a1bf9000000000000000000000000d5bbbf454e9afc0b582bce98603cc239e1fa75ea0000000000000000000000008bb0675122567956a72a3371fa3b178bf390fcd200000000000000000000000083c81c3a35dd1a2e0f82c84ef059cf93ecf7102a0000000000000000000000003738762f841cddbe131bf66245b8887eebecd28a000000000000000000000000b480fd453d4302bcf56c3d5aa20d2267a3de5e3200000000000000000000000043fd0c7f3ae09fadb345e2d662c375674191bce100000000000000000000000000444797ba158a7bdb8302e72da98dcbccef0fbc0000000000000000000000006d9d7739d076d5cc4c1084f55297d9cdb908c6e8000000000000000000000000cff58286faf8a80da8474f890bd82c784b64c4e0000000000000000000000000984f05aba983c2c17b2fd1b5d48691121dcb51c5000000000000000000000000b6d0a3120c0e13749c211f48fccd9458dfc99bd0000000000000000000000000165540b886924e5214933a52039b1060f90eee6e000000000000000000000000dbddb6bc594448cc6475f39abb1ff8e6f0ce0c9d0000000000000000000000009e3779b51441e2c017a128a0bb353b68131be15e000000000000000000000000090ea986edc3045b8f5c23c927e209b64ac6e2ea0000000000000000000000004bf8b696b3cf1c1c9c99199c36de8e01ed0a276a000000000000000000000000856591f79996da2ace118bf4786fb5c539afe2b30000000000000000000000004de0e4d5dcadc7d17a9ade42c00d998a05d76f54000000000000000000000000a7b001be32f2c954f726f94281b796889071cf58000000000000000000000000e380131bbcb94590120c6840bb6f77bb96138fdf000000000000000000000000a392a53277b33a35d018c3a77c06be1befe6d918000000000000000000000000d8804c0dc86a28b39953069f6f5d41a5e2b4f73b000000000000000000000000026dcaf1704c66d7cfb63a853252c7401672f99400000000000000000000000032a4e9d38a235e6c7e34017902b81846692ca5770000000000000000000000007124621c522b69e0969064fcd592ac7097b1305b000000000000000000000000e025cf914bc3b77f36cd0061add7912dabeef49f0000000000000000000000000634c54ce082404d03849b4eee14cb3537525e010000000000000000000000009b5e08dc22712543a687d765df3c54f86b6fadc9000000000000000000000000b30588c43b9ecfe7bae953d1e11cde9cc33f8f4d000000000000000000000000321205e2850144055fbc9dd7d73be05f1f9a219c0000000000000000000000003ed8df19c18ded608c6efb110ec3e2f7322639850000000000000000000000005883575a904bd6cf7dfcbcac9be57ebde38437db0000000000000000000000006d1ea6358c74d10f89c81369da03b53d4651bbad0000000000000000000000005767612fe860a5646769d28035a984cda5fd1dab0000000000000000000000005e80a5fd71c5cba9cfc7475f2c3c17460274cade00000000000000000000000082fa248cc9de08bfa5f553b45e00c151001ccfef000000000000000000000000acbb66b4d064c0037d47d0c74e2e98232eee34a0000000000000000000000000eda1a154e78bea2930fc8895811c4cb2a588be0b000000000000000000000000a3651f9829c7ddb276cbcf22f128282a502169cb000000000000000000000000167dea44b6c66a7ac5345e8cf8614c879ee27cf9000000000000000000000000737c53e898ecf14deb98c251538c0702b90f6647000000000000000000000000cf7f61a02780526f579427bd806170ce53c7a442000000000000000000000000392e7943175e5b07a7a8f5960b72de960622a1f8000000000000000000000000fb53722b247f20cea62968543c6a0e342cd6c63f000000000000000000000000f4b15ef519bc50798cb105996a7fed9082f9e61600000000000000000000000085ebe2e8170586422327fdb9b6c1e433842e28b800000000000000000000000051d7cd974d143b5e0041852298f31cde254bda26000000000000000000000000299d8ab32ea99450419bbc530d5ae4742970d25b000000000000000000000000bbdde5b1490e33190f3906f750e4e6ca46f6b65c000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000001225639debc68ef27000000000000000000000000000000000000000000000000054b40b1f852bda00000000000000000000000000000000000000000000000000547d665021c8c0400000000000000000000000000000000000000000000000003486fec8ed658bd000000000000000000000000000000000000000000000000032759e4d181149400000000000000000000000000000000000000000000000002544faa778090e0000000000000000000000000000000000000000000000000022f72c52a4bef40000000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000001d234f9a33f476000000000000000000000000000000000000000000000000001b1ae4d6e2ef50000000000000000000000000000000000000000000000000001a98ca260eae068000000000000000000000000000000000000000000000000016b25e9a9b4e8420000000000000000000000000000000000000000000000000148067e786d90ac00000000000000000000000000000000000000000000000001387d43ea4edd30780000000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000c789e3fc51f26d08000000000000000000000000000000000000000000000000b2e4b323d9c51000000000000000000000000000000000000000000000000000b02ecf74c31388000000000000000000000000000000000000000000000000006c6b935b8bbd40000000000000000000000000000000000000000000000000005188315f776b80000000000000000000000000000000000000000000000000005150ae84a8cdf0000000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000001b1ae4d6e2ef50000000000000000000000000000000000000000000000000001b1ae4d6e2ef50000000000000000000000000000000000000000000000000001043561a88293000000000000000000000000000000000000000000000000000093739534d286800000000000000000000000000000000000000000000000000072c08050b682e00000000000000000000000000000000000000000000000000056bc75e2d631000000000000000000000000000000000000000000000000000028c418afbbb5c0000000000000000000000000000000000000000000000000002629f66e0c53000000000000000000000000000000000000000000000000000025286410621bc0000000000000000000000000000000000000000000000000001ce215d91ac820000000000000000000000000000000000000000000000000001a055690d9db800000000000000000000000000000000000000000000000000015af1d78b58c40000000000000000000000000000000000000000000000000001158e460913d00000000000000000000000000000000000000000000000000001158e460913d00000000000000000000000000000000000000000000000000000c93a592cfb2a0000000000000000000000000000000000000000000000000000c93a592cfb2a0000000000000000000000000000000000000000000000000000b893178898b2000000000000000000000000000000000000000000000000000098a7d9b8314c00000000000000000000000000000000000000000000000000008ac7230489e8000000000000000000000000000000000000000000000000000053444835ec5800000000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000003e7336287142000000000000000000000000000000000000000000000000000029a2241af62c000000000000000000000000000000000000000000000000000029a2241af62c000000000000000000000000000000000000000000000000000029a2241af62c00000000000000000000000000000000000000000000000000002013be0dbdd680000000000000000000000000000000000000000000000000000f43fc2c04ee00000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000
-----Decoded View---------------
Arg [0] : _cap (uint256): 10000000000000000000000000
Arg [1] : _holders (address[]): 0x767055e6a898CF6A83F181c2Fd7AbcA4C79D845F,0xf5f0cA3EaA4a3EdEbFe72A76f42A81499B75377F,0xb87d6e886c62b017f27AC40976209Ece7aDbC41c,0x2981A4B6093D504f08e3ED1746CB2Eb6f887B072,0xdC372D0E73C39F448782bC488dDDaD8bda597236,0x67dFD201eaed8C53dc604814F9509004D154608e,0x8e478097cb934fA033b111b813FF15920bC1A964,0x36ca37A2e58009c7d37e24D3f3dD398ec78a1bF9,0xD5BBbf454E9aFc0b582BCE98603cc239e1Fa75EA,0x8bb0675122567956A72a3371fA3b178bF390fCD2,0x83c81C3A35DD1A2E0f82C84ef059cF93ecF7102A,0x3738762f841CDdBE131bF66245B8887eeBecd28A,0xb480Fd453d4302BCF56c3D5Aa20d2267a3dE5e32,0x43fD0c7f3aE09FadB345E2D662C375674191BCe1,0x00444797Ba158A7BdB8302e72da98dCbCCef0Fbc,0x6D9d7739D076D5cc4c1084f55297D9Cdb908c6e8,0xCFF58286Faf8A80Da8474F890Bd82C784B64C4e0,0x984F05aBa983c2C17B2Fd1B5D48691121DcB51c5,0xB6d0A3120c0e13749c211F48fccD9458Dfc99BD0,0x165540B886924e5214933a52039B1060F90Eee6e,0xDBddb6BC594448cC6475F39aBB1fF8e6F0cE0C9D,0x9e3779B51441E2C017a128A0Bb353b68131BE15e,0x090EA986edC3045B8F5C23c927E209B64aC6e2ea,0x4Bf8b696b3Cf1C1C9c99199C36De8E01Ed0A276a,0x856591f79996Da2ACe118bF4786FB5C539AFe2B3,0x4de0E4d5dCaDc7D17a9AdE42c00d998A05d76F54,0xA7b001be32F2C954F726F94281B796889071cF58,0xE380131bBcb94590120C6840bb6f77bB96138fdF,0xA392A53277b33A35d018c3A77C06be1BefE6D918,0xd8804C0Dc86a28b39953069f6F5D41A5e2b4f73B,0x026DcaF1704C66D7CFb63A853252c7401672F994,0x32a4e9D38A235e6c7E34017902B81846692Ca577,0x7124621C522b69e0969064fcD592aC7097B1305b,0xE025cF914BC3b77F36cd0061adD7912DAbeef49F,0x0634C54CE082404d03849b4eEE14cb3537525E01,0x9B5e08dC22712543a687d765df3C54f86B6fADC9,0xB30588C43b9eCfe7BAe953d1E11cde9Cc33f8F4d,0x321205e2850144055fbC9Dd7D73be05f1f9A219C,0x3ed8DF19C18DED608C6eFb110EC3E2F732263985,0x5883575a904BD6cf7dFcbcAc9bE57eBDe38437dB,0x6D1ea6358C74d10F89c81369Da03B53D4651BbAD,0x5767612FE860A5646769d28035A984cda5FD1dAB,0x5e80a5Fd71c5cbA9cfc7475F2c3c17460274CAde,0x82Fa248cc9de08BFA5f553b45E00C151001cCFef,0xacBB66B4D064C0037d47d0C74e2E98232Eee34a0,0xEda1a154E78BeA2930fC8895811C4cB2A588BE0B,0xA3651F9829c7DDb276CBCf22f128282a502169Cb,0x167DEA44B6c66a7Ac5345e8cf8614c879Ee27cF9,0x737C53e898Ecf14dEB98c251538C0702B90F6647,0xCf7f61A02780526F579427bd806170CE53c7a442,0x392E7943175e5B07A7A8f5960B72De960622A1f8,0xFb53722b247f20CeA62968543c6A0E342cd6c63f,0xF4b15EF519bC50798Cb105996A7FED9082F9E616,0x85eBe2E8170586422327fDb9B6c1e433842e28b8,0x51d7CD974d143b5e0041852298F31cDE254bdA26,0x299D8AB32Ea99450419BBC530D5aE4742970D25B,0xBBDde5b1490e33190F3906F750e4E6cA46f6b65C
Arg [2] : _amounts (uint256[]): 1371076870000000000000000,25000000000000000000000,24937000000000000000000,15503330000000000000000,14893000000000000000000,11000000000000000000000,10320000000000000000000,10000000000000000000000,8600000000000000000000,8000000000000000000000,7850000000000000000000,6698900000000000000000,6051000000000000000000,5764410466700000000000,5000000000000000000000,3680838133300000000000,3300000000000000000000,3250000000000000000000,2000000000000000000000,1504000000000000000000,1500000000000000000000,1000000000000000000000,1000000000000000000000,500000000000000000000,500000000000000000000,300000000000000000000,170000000000000000000,132300000000000000000,100000000000000000000,47000000000000000000,44000000000000000000,42840000000000000000,33300000000000000000,30000000000000000000,25000000000000000000,20000000000000000000,20000000000000000000,14500000000000000000,14500000000000000000,13300000000000000000,11000000000000000000,10000000000000000000,6000000000000000000,5000000000000000000,5000000000000000000,5000000000000000000,4500000000000000000,3000000000000000000,3000000000000000000,3000000000000000000,2311400000000000000,1100000000000000000,1000000000000000000,1000000000000000000,1000000000000000000,1000000000000000000,1000000000000000000
-----Encoded View---------------
119 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000084595161401484a000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 00000000000000000000000000000000000000000000000000000000000007a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000039
Arg [4] : 000000000000000000000000767055e6a898cf6a83f181c2fd7abca4c79d845f
Arg [5] : 000000000000000000000000f5f0ca3eaa4a3edebfe72a76f42a81499b75377f
Arg [6] : 000000000000000000000000b87d6e886c62b017f27ac40976209ece7adbc41c
Arg [7] : 0000000000000000000000002981a4b6093d504f08e3ed1746cb2eb6f887b072
Arg [8] : 000000000000000000000000dc372d0e73c39f448782bc488dddad8bda597236
Arg [9] : 00000000000000000000000067dfd201eaed8c53dc604814f9509004d154608e
Arg [10] : 0000000000000000000000008e478097cb934fa033b111b813ff15920bc1a964
Arg [11] : 00000000000000000000000036ca37a2e58009c7d37e24d3f3dd398ec78a1bf9
Arg [12] : 000000000000000000000000d5bbbf454e9afc0b582bce98603cc239e1fa75ea
Arg [13] : 0000000000000000000000008bb0675122567956a72a3371fa3b178bf390fcd2
Arg [14] : 00000000000000000000000083c81c3a35dd1a2e0f82c84ef059cf93ecf7102a
Arg [15] : 0000000000000000000000003738762f841cddbe131bf66245b8887eebecd28a
Arg [16] : 000000000000000000000000b480fd453d4302bcf56c3d5aa20d2267a3de5e32
Arg [17] : 00000000000000000000000043fd0c7f3ae09fadb345e2d662c375674191bce1
Arg [18] : 00000000000000000000000000444797ba158a7bdb8302e72da98dcbccef0fbc
Arg [19] : 0000000000000000000000006d9d7739d076d5cc4c1084f55297d9cdb908c6e8
Arg [20] : 000000000000000000000000cff58286faf8a80da8474f890bd82c784b64c4e0
Arg [21] : 000000000000000000000000984f05aba983c2c17b2fd1b5d48691121dcb51c5
Arg [22] : 000000000000000000000000b6d0a3120c0e13749c211f48fccd9458dfc99bd0
Arg [23] : 000000000000000000000000165540b886924e5214933a52039b1060f90eee6e
Arg [24] : 000000000000000000000000dbddb6bc594448cc6475f39abb1ff8e6f0ce0c9d
Arg [25] : 0000000000000000000000009e3779b51441e2c017a128a0bb353b68131be15e
Arg [26] : 000000000000000000000000090ea986edc3045b8f5c23c927e209b64ac6e2ea
Arg [27] : 0000000000000000000000004bf8b696b3cf1c1c9c99199c36de8e01ed0a276a
Arg [28] : 000000000000000000000000856591f79996da2ace118bf4786fb5c539afe2b3
Arg [29] : 0000000000000000000000004de0e4d5dcadc7d17a9ade42c00d998a05d76f54
Arg [30] : 000000000000000000000000a7b001be32f2c954f726f94281b796889071cf58
Arg [31] : 000000000000000000000000e380131bbcb94590120c6840bb6f77bb96138fdf
Arg [32] : 000000000000000000000000a392a53277b33a35d018c3a77c06be1befe6d918
Arg [33] : 000000000000000000000000d8804c0dc86a28b39953069f6f5d41a5e2b4f73b
Arg [34] : 000000000000000000000000026dcaf1704c66d7cfb63a853252c7401672f994
Arg [35] : 00000000000000000000000032a4e9d38a235e6c7e34017902b81846692ca577
Arg [36] : 0000000000000000000000007124621c522b69e0969064fcd592ac7097b1305b
Arg [37] : 000000000000000000000000e025cf914bc3b77f36cd0061add7912dabeef49f
Arg [38] : 0000000000000000000000000634c54ce082404d03849b4eee14cb3537525e01
Arg [39] : 0000000000000000000000009b5e08dc22712543a687d765df3c54f86b6fadc9
Arg [40] : 000000000000000000000000b30588c43b9ecfe7bae953d1e11cde9cc33f8f4d
Arg [41] : 000000000000000000000000321205e2850144055fbc9dd7d73be05f1f9a219c
Arg [42] : 0000000000000000000000003ed8df19c18ded608c6efb110ec3e2f732263985
Arg [43] : 0000000000000000000000005883575a904bd6cf7dfcbcac9be57ebde38437db
Arg [44] : 0000000000000000000000006d1ea6358c74d10f89c81369da03b53d4651bbad
Arg [45] : 0000000000000000000000005767612fe860a5646769d28035a984cda5fd1dab
Arg [46] : 0000000000000000000000005e80a5fd71c5cba9cfc7475f2c3c17460274cade
Arg [47] : 00000000000000000000000082fa248cc9de08bfa5f553b45e00c151001ccfef
Arg [48] : 000000000000000000000000acbb66b4d064c0037d47d0c74e2e98232eee34a0
Arg [49] : 000000000000000000000000eda1a154e78bea2930fc8895811c4cb2a588be0b
Arg [50] : 000000000000000000000000a3651f9829c7ddb276cbcf22f128282a502169cb
Arg [51] : 000000000000000000000000167dea44b6c66a7ac5345e8cf8614c879ee27cf9
Arg [52] : 000000000000000000000000737c53e898ecf14deb98c251538c0702b90f6647
Arg [53] : 000000000000000000000000cf7f61a02780526f579427bd806170ce53c7a442
Arg [54] : 000000000000000000000000392e7943175e5b07a7a8f5960b72de960622a1f8
Arg [55] : 000000000000000000000000fb53722b247f20cea62968543c6a0e342cd6c63f
Arg [56] : 000000000000000000000000f4b15ef519bc50798cb105996a7fed9082f9e616
Arg [57] : 00000000000000000000000085ebe2e8170586422327fdb9b6c1e433842e28b8
Arg [58] : 00000000000000000000000051d7cd974d143b5e0041852298f31cde254bda26
Arg [59] : 000000000000000000000000299d8ab32ea99450419bbc530d5ae4742970d25b
Arg [60] : 000000000000000000000000bbdde5b1490e33190f3906f750e4e6ca46f6b65c
Arg [61] : 0000000000000000000000000000000000000000000000000000000000000039
Arg [62] : 00000000000000000000000000000000000000000001225639debc68ef270000
Arg [63] : 00000000000000000000000000000000000000000000054b40b1f852bda00000
Arg [64] : 000000000000000000000000000000000000000000000547d665021c8c040000
Arg [65] : 0000000000000000000000000000000000000000000003486fec8ed658bd0000
Arg [66] : 00000000000000000000000000000000000000000000032759e4d18114940000
Arg [67] : 0000000000000000000000000000000000000000000002544faa778090e00000
Arg [68] : 00000000000000000000000000000000000000000000022f72c52a4bef400000
Arg [69] : 00000000000000000000000000000000000000000000021e19e0c9bab2400000
Arg [70] : 0000000000000000000000000000000000000000000001d234f9a33f47600000
Arg [71] : 0000000000000000000000000000000000000000000001b1ae4d6e2ef5000000
Arg [72] : 0000000000000000000000000000000000000000000001a98ca260eae0680000
Arg [73] : 00000000000000000000000000000000000000000000016b25e9a9b4e8420000
Arg [74] : 000000000000000000000000000000000000000000000148067e786d90ac0000
Arg [75] : 0000000000000000000000000000000000000000000001387d43ea4edd307800
Arg [76] : 00000000000000000000000000000000000000000000010f0cf064dd59200000
Arg [77] : 0000000000000000000000000000000000000000000000c789e3fc51f26d0800
Arg [78] : 0000000000000000000000000000000000000000000000b2e4b323d9c5100000
Arg [79] : 0000000000000000000000000000000000000000000000b02ecf74c313880000
Arg [80] : 00000000000000000000000000000000000000000000006c6b935b8bbd400000
Arg [81] : 00000000000000000000000000000000000000000000005188315f776b800000
Arg [82] : 00000000000000000000000000000000000000000000005150ae84a8cdf00000
Arg [83] : 00000000000000000000000000000000000000000000003635c9adc5dea00000
Arg [84] : 00000000000000000000000000000000000000000000003635c9adc5dea00000
Arg [85] : 00000000000000000000000000000000000000000000001b1ae4d6e2ef500000
Arg [86] : 00000000000000000000000000000000000000000000001b1ae4d6e2ef500000
Arg [87] : 00000000000000000000000000000000000000000000001043561a8829300000
Arg [88] : 0000000000000000000000000000000000000000000000093739534d28680000
Arg [89] : 0000000000000000000000000000000000000000000000072c08050b682e0000
Arg [90] : 0000000000000000000000000000000000000000000000056bc75e2d63100000
Arg [91] : 0000000000000000000000000000000000000000000000028c418afbbb5c0000
Arg [92] : 000000000000000000000000000000000000000000000002629f66e0c5300000
Arg [93] : 0000000000000000000000000000000000000000000000025286410621bc0000
Arg [94] : 000000000000000000000000000000000000000000000001ce215d91ac820000
Arg [95] : 000000000000000000000000000000000000000000000001a055690d9db80000
Arg [96] : 0000000000000000000000000000000000000000000000015af1d78b58c40000
Arg [97] : 000000000000000000000000000000000000000000000001158e460913d00000
Arg [98] : 000000000000000000000000000000000000000000000001158e460913d00000
Arg [99] : 000000000000000000000000000000000000000000000000c93a592cfb2a0000
Arg [100] : 000000000000000000000000000000000000000000000000c93a592cfb2a0000
Arg [101] : 000000000000000000000000000000000000000000000000b893178898b20000
Arg [102] : 00000000000000000000000000000000000000000000000098a7d9b8314c0000
Arg [103] : 0000000000000000000000000000000000000000000000008ac7230489e80000
Arg [104] : 00000000000000000000000000000000000000000000000053444835ec580000
Arg [105] : 0000000000000000000000000000000000000000000000004563918244f40000
Arg [106] : 0000000000000000000000000000000000000000000000004563918244f40000
Arg [107] : 0000000000000000000000000000000000000000000000004563918244f40000
Arg [108] : 0000000000000000000000000000000000000000000000003e73362871420000
Arg [109] : 00000000000000000000000000000000000000000000000029a2241af62c0000
Arg [110] : 00000000000000000000000000000000000000000000000029a2241af62c0000
Arg [111] : 00000000000000000000000000000000000000000000000029a2241af62c0000
Arg [112] : 0000000000000000000000000000000000000000000000002013be0dbdd68000
Arg [113] : 0000000000000000000000000000000000000000000000000f43fc2c04ee0000
Arg [114] : 0000000000000000000000000000000000000000000000000de0b6b3a7640000
Arg [115] : 0000000000000000000000000000000000000000000000000de0b6b3a7640000
Arg [116] : 0000000000000000000000000000000000000000000000000de0b6b3a7640000
Arg [117] : 0000000000000000000000000000000000000000000000000de0b6b3a7640000
Arg [118] : 0000000000000000000000000000000000000000000000000de0b6b3a7640000
Swarm Source
bzzr://f7fffbb17d8fd0c7e2e02b66f3a406a96e720299ee212832b82585af00319ba6
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.