Announcement: Equal Token has swapped over to the Binance Chain. For more information on how to swap Equal Tokens to Binance Chain click here.
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 32,439 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 23375679 | 158 days ago | IN | 0 ETH | 0.00007338 | ||||
| Approve | 22162061 | 328 days ago | IN | 0 ETH | 0.00001926 | ||||
| Approve | 21971639 | 354 days ago | IN | 0 ETH | 0.00002582 | ||||
| Approve | 21840518 | 373 days ago | IN | 0 ETH | 0.00003636 | ||||
| Approve | 21840512 | 373 days ago | IN | 0 ETH | 0.00003135 | ||||
| Transfer | 21652306 | 399 days ago | IN | 0 ETH | 0.00194181 | ||||
| Approve | 21069883 | 480 days ago | IN | 0 ETH | 0.00029161 | ||||
| Approve | 19021102 | 767 days ago | IN | 0 ETH | 0.00150149 | ||||
| Approve | 18322774 | 865 days ago | IN | 0 ETH | 0.00044662 | ||||
| Approve | 18310854 | 866 days ago | IN | 0 ETH | 0.00021299 | ||||
| Approve | 17012757 | 1049 days ago | IN | 0 ETH | 0.00093211 | ||||
| Approve | 17008637 | 1049 days ago | IN | 0 ETH | 0.00085911 | ||||
| Transfer | 16404770 | 1134 days ago | IN | 0 ETH | 0.00134721 | ||||
| Transfer | 16404001 | 1134 days ago | IN | 0 ETH | 0.00136523 | ||||
| Transfer | 16324669 | 1145 days ago | IN | 0 ETH | 0.00093672 | ||||
| Transfer | 14834013 | 1369 days ago | IN | 0 ETH | 0.0011876 | ||||
| Approve | 14468732 | 1427 days ago | IN | 0 ETH | 0.00063719 | ||||
| Transfer | 12639988 | 1712 days ago | IN | 0 ETH | 0.00117971 | ||||
| Transfer | 12639984 | 1712 days ago | IN | 0 ETH | 0.00043526 | ||||
| Transfer | 12551227 | 1726 days ago | IN | 0 ETH | 0.00177994 | ||||
| Transfer | 12517891 | 1731 days ago | IN | 0 ETH | 0.00223456 | ||||
| Transfer | 12475131 | 1738 days ago | IN | 0 ETH | 0.00254519 | ||||
| Transfer | 12361118 | 1755 days ago | IN | 0 ETH | 0.0024836 | ||||
| Transfer | 12333769 | 1759 days ago | IN | 0 ETH | 0.00292805 | ||||
| Transfer | 12333496 | 1759 days ago | IN | 0 ETH | 0.0028587 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
EqualToken
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-12-19
*/
pragma solidity ^0.4.18;
contract Token {
/// @return total amount of tokens
function totalSupply() constant returns (uint256 supply);
/// @param _owner The address from which the balance will be retrieved
/// @return The balance
function balanceOf(address _owner) constant returns (uint256 balance);
/// @notice send `_value` token to `_to` from `msg.sender`
/// @param _to The address of the recipient
/// @param _value The amount of token to be transferred
/// @return Whether the transfer was successful or not
function transfer(address _to, uint256 _value) returns (bool success);
/// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
/// @param _from The address of the sender
/// @param _to The address of the recipient
/// @param _value The amount of token to be transferred
/// @return Whether the transfer was successful or not
function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
/// @notice `msg.sender` approves `_addr` to spend `_value` tokens
/// @param _spender The address of the account able to transfer the tokens
/// @param _value The amount of wei to be approved for transfer
/// @return Whether the approval was successful or not
function approve(address _spender, uint256 _value) returns (bool success);
/// @param _owner The address of the account owning tokens
/// @param _spender The address of the account able to transfer the tokens
/// @return Amount of remaining tokens allowed to spent
function allowance(address _owner, address _spender) constant returns (uint256 remaining);
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
event Burn(address indexed from, uint256 value);
event UpdateToken(address _newtoken);
// Function to set balances from new Token
function setBalance(address _to,uint256 _value) external ;
// Function to set allowed from new Token
function setAllowed(address _spender,address _to,uint256 _value) external;
// Function to set total supply from new Token.
function setTotalSupply(uint256 _value) external;
function getDecimals() constant returns (uint256 decimals);
function eventTransfer(address _from, address _to, uint256 _value) external;
function eventApproval(address _owner, address _spender, uint256 _value) external;
function eventBurn(address from, uint256 value) external;
}
contract NewToken{
function transfer(address _sender,address _to,uint256 value) returns (bool);
function transferFrom(address _sender,address from,address _to,uint256 value) returns (bool);
function approve(address _sender,address _spender, uint256 _value) returns (bool success);
}
library SafeMath {
function mul(uint256 a, uint256 b) internal constant returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal constant 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 c;
}
function sub(uint256 a, uint256 b) internal constant returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal constant returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
function onePercent(uint256 a) internal constant returns (uint256){
return div(a,uint256(100));
}
function power(uint256 a,uint256 b) internal constant returns (uint256){
return mul(a,10**b);
}
}
contract StandardToken is Token {
using SafeMath for uint256;
address newToken=0x0;
mapping (address => uint256) balances;
mapping (address => mapping (address => uint256)) allowed;
uint256 public _totalSupply=0;
uint8 public decimals; //How many decimals to show. ie. There could 1000 base units with 3 decimals. Meaning 0.980 SBX = 980 base units. It's like comparing 1 wei to 1 ether.
// there is 3 level. 1 - inbound tx, 2 - outbount tx, 3 - all tx;
mapping(uint8 =>mapping(address=>bool)) internal whitelist;
mapping(address=>uint8) internal whitelistModerator;
uint256 public maxFee;
uint256 public feePercantage;
address public _owner;
modifier onlyOwner {
require(msg.sender == _owner);
_;
}
modifier canModifyWhitelistIn {
require(whitelistModerator[msg.sender]==1 || whitelistModerator[msg.sender]==3);
_;
}
modifier canModifyWhitelistOut {
require(whitelistModerator[msg.sender]==2 || whitelistModerator[msg.sender]==3);
_;
}
modifier canModifyWhitelist {
require(whitelistModerator[msg.sender]==3);
_;
}
modifier onlyNewToken {
require(msg.sender==newToken);
_;
}
function transfer(address _to, uint256 _value) returns (bool success) {
if(newToken!=0x0){
return NewToken(newToken).transfer(msg.sender,_to,_value);
}
uint256 fee=getFee(_value);
uint256 valueWithFee=_value;
if(withFee(msg.sender,_to)){
valueWithFee=valueWithFee.add(fee);
}
if (balances[msg.sender] >= valueWithFee && _value > 0) {
//Do Transfer
doTransfer(msg.sender,_to,_value,fee);
return true;
} else { return false; }
}
function withFee(address _from,address _to) private returns(bool){
return !whitelist[2][_from] && !whitelist[1][_to] && !whitelist[3][_to] && !whitelist[3][_from];
}
function getFee(uint256 _value) private returns (uint256){
uint256 feeOfValue=_value.onePercent().mul(feePercantage);
uint256 fee=uint256(maxFee).power(decimals);
// Check if 1% burn fee exceeds maxfee
// If so then hard cap for burn fee is maxfee
if (feeOfValue>= fee) {
return fee;
// If 1% burn fee is less than maxfee
// then use 1% burn fee
}
if (feeOfValue < fee) {
return feeOfValue;
}
}
function doTransfer(address _from,address _to,uint256 _value,uint256 fee) internal {
balances[_from] =balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
Transfer(_from, _to, _value);
if(withFee(_from,_to)) {
doBurn(_from,fee);
}
}
function doBurn(address _from,uint256 _value) private returns (bool success){
require(balanceOf(_from) >= _value); // Check if the sender has enough
balances[_from] =balances[_from].sub(_value); // Subtract from the sender
_totalSupply =_totalSupply.sub(_value); // Updates totalSupply
Burn(_from, _value);
return true;
}
function burn(address _from,uint256 _value) onlyOwner public returns (bool success) {
return doBurn(_from,_value);
}
function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
//same as above. Replace this line with the following if you want to protect against wrapping uints.
//if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
if(newToken!=0x0){
return NewToken(newToken).transferFrom(msg.sender,_from,_to,_value);
}
uint256 fee=getFee(_value);
uint256 valueWithFee=_value;
if(withFee(_from,_to)){
valueWithFee=valueWithFee.add(fee);
}
if (balances[_from] >= valueWithFee &&
(allowed[_from][msg.sender] >= valueWithFee || allowed[_from][msg.sender] == _value) &&
_value > 0 ) {
doTransfer(_from,_to,_value,fee);
if(allowed[_from][msg.sender] == _value){
allowed[_from][msg.sender] =allowed[_from][msg.sender].sub(_value);
}
else{
allowed[_from][msg.sender] =allowed[_from][msg.sender].sub(valueWithFee);
}
return true;
} else { return false; }
}
function balanceOf(address _owner) constant returns (uint256 balance) {
return balances[_owner];
}
function approve(address _spender, uint256 _value) returns (bool success) {
if(newToken!=0x0){
return NewToken(newToken).approve(msg.sender,_spender,_value);
}
uint256 valueWithFee=_value;
if(withFee(_spender,0x0)){
uint256 fee=getFee(_value);
valueWithFee=valueWithFee.add(fee);
}
allowed[msg.sender][_spender] = valueWithFee;
Approval(msg.sender, _spender, valueWithFee);
return true;
}
function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
return allowed[_owner][_spender];
}
function totalSupply() constant returns (uint totalSupply){
return _totalSupply;
}
function setTotalSupply(uint256 _value) onlyNewToken external {
_totalSupply=_value;
}
function setBalance(address _to,uint256 _value) onlyNewToken external {
balances[_to]=_value;
}
function setAllowed(address _spender,address _to,uint256 _value) onlyNewToken external {
allowed[_to][_spender]=_value;
}
function getDecimals() constant returns (uint256 decimals){
return decimals;
}
function eventTransfer(address _from, address _to, uint256 _value) onlyNewToken external{
Transfer(_from,_to,_value);
}
function eventApproval(address _owner, address _spender, uint256 _value)onlyNewToken external{
Approval(_owner,_spender,_value);
}
function eventBurn(address from, uint256 value)onlyNewToken external{
Burn(from,value);
}
}
contract EqualToken is StandardToken {
function () {
//if ether is sent to this address, send it back.
revert();
}
/* Public variables of the token */
/*
NOTE:
The following variables are OPTIONAL vanities. One does not have to include them.
They allow one to customise the token contract & in no way influences the core functionality.
Some wallets/interfaces might not even bother to look at this information.
*/
string public name; //fancy name: eg Simon Bucks
string public symbol; //An identifier: eg SBX
string public version = 'H1.0'; //human 0.1 standard. Just an arbitrary versioning scheme.
address public oldToken=0x0;
// Fee info
string public feeInfo = "Each operation costs 1% of the transaction amount, but not more than 250 tokens.";
function EqualToken() {
_owner=msg.sender;
whitelistModerator[msg.sender]=3;
whitelist[3][msg.sender]=true;
maxFee=250; // max fee for transfer
feePercantage=1; // fee in percents
name = "EQUAL"; // Set the name for display purposes
decimals = 18; // Amount of decimals for display purposes
symbol = "EQL"; // Set the symbol for display purposes
}
function setOldToken(address _oldToken) onlyOwner public{
require(oldToken==0x0);
oldToken=_oldToken;
Token token=Token(_oldToken);
_totalSupply=token.totalSupply();
balances[msg.sender] =_totalSupply;
Transfer(0x0,msg.sender,_totalSupply);
}
// Redistibute new token with same balances;
function redistribute(address[] holders) onlyOwner public{
require(oldToken!=0x0);
Token token=Token(oldToken);
for(uint256 i=0;i<holders.length;++i){
address _to=holders[i];
if(balances[_to]==0){
uint256 balance=token.balanceOf(_to);
balances[_to]=balance;
balances[msg.sender]=balances[msg.sender].sub(balance);
Transfer(msg.sender,_to,balance);
}
}
}
function allocate(address _address,uint256 percent) private{
uint256 bal=_totalSupply.onePercent().mul(percent);
//balances[_address]=bal;
whitelist[3][_address]=true;
doTransfer(msg.sender,_address,bal,0);
}
// Set address access to inbound whitelist.
function setWhitelistIn(address _address,bool _value) canModifyWhitelistIn public{
setWhitelistValue(_address,_value,1);
}
// Set address access to outbound whitelist.
function setWhitelistOut(address _address,bool _value) canModifyWhitelistOut public{
setWhitelistValue(_address,_value,2);
}
// Set address access to inbound and outbound whitelist.
function setWhitelist(address _address,bool _value) canModifyWhitelist public{
setWhitelistValue(_address,_value,3);
}
function setWhitelistValue(address _address,bool _withoutFee,uint8 _type) internal {
whitelist[_type][_address]=_withoutFee;
}
// Set address of moderator whitelist
// _level can be: 0 -not moderator, 1 -inbound,2 - outbound, 3 -all
function setWhitelistModerator(address _address,uint8 _level) onlyOwner public {
whitelistModerator[_address]=_level;
}
//Set max fee value
function setMaxFee(uint256 newFee) onlyOwner public {
maxFee=newFee;
}
//Set fee percent value
function setFeePercent(uint256 newFee) onlyOwner public {
feePercantage=newFee;
}
//Set fee info
function setFeeInfo(string newFeeInfo) onlyOwner public {
feeInfo=newFeeInfo;
}
function setNewToken(address _newtoken) onlyOwner public{
newToken=_newtoken;
UpdateToken(_newtoken);
}
/* Approves and then calls the receiving contract */
function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success) {
if(!approve(_spender,_value)){
return false;
}
//call the receiveApproval function on the contract you want to be notified. This crafts the function signature manually so one doesn't have to include a contract in here just for this.
//receiveApproval(address _from, uint256 _value, address _tokenContract, bytes _extraData)
//it is assumed that when does this that the call *should* succeed, otherwise one would use vanilla approve instead.
if(!_spender.call(bytes4(bytes32(sha3("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData)) { revert(); }
return true;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"maxFee","outputs":[{"name":"","type":"uint256"}],"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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"eventTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newFeeInfo","type":"string"}],"name":"setFeeInfo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"setAllowed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"eventBurn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"bool"}],"name":"setWhitelistIn","outputs":[],"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":"_address","type":"address"},{"name":"_value","type":"bool"}],"name":"setWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"bool"}],"name":"setWhitelistOut","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_oldToken","type":"address"}],"name":"setOldToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newtoken","type":"address"}],"name":"setNewToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newFee","type":"uint256"}],"name":"setMaxFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newFee","type":"uint256"}],"name":"setFeePercent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"eventApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feePercantage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeInfo","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"holders","type":"address[]"}],"name":"redistribute","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":"oldToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_level","type":"uint8"}],"name":"setWhitelistModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"setBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getDecimals","outputs":[{"name":"decimals","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_newtoken","type":"address"}],"name":"UpdateToken","type":"event"}]Contract Creation Code
606060405260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006003556040805190810160405280600481526020017f48312e3000000000000000000000000000000000000000000000000000000000815250600c90805190602001906200009792919062000356565b506000600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550608060405190810160405280605081526020017f45616368206f7065726174696f6e20636f737473203125206f6620746865207481526020017f72616e73616374696f6e20616d6f756e742c20627574206e6f74206d6f72652081526020017f7468616e2032353020746f6b656e732e00000000000000000000000000000000815250600e90805190602001906200017492919062000356565b5034156200018157600080fd5b33600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff160217905550600160056000600360ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060fa60078190555060016008819055506040805190810160405280600581526020017f455155414c000000000000000000000000000000000000000000000000000000815250600a9080519060200190620002e592919062000356565b506012600460006101000a81548160ff021916908360ff1602179055506040805190810160405280600381526020017f45514c0000000000000000000000000000000000000000000000000000000000815250600b90805190602001906200034f92919062000356565b5062000405565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200039957805160ff1916838001178555620003ca565b82800160010185558215620003ca579182015b82811115620003c9578251825591602001919060010190620003ac565b5b509050620003d99190620003dd565b5090565b6200040291905b80821115620003fe576000816000905550600101620003e4565b5090565b90565b6132da80620004156000396000f3006060604052600436106101b7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301f59d16146101c757806306fdde03146101f0578063095ea7b31461027e57806318160ddd146102d857806323b872dd1461030157806329780a4e1461037a57806330a69955146103db578063313ce5671461043857806333dd1b8a14610467578063346bfd9f146104c85780633b33175b1461050a5780633eaaf86b1461054e57806353d6fd591461057757806354fd4d50146105bb57806359fa0663146106495780635b7a50f71461068d5780635ed411e5146106c657806370a08231146106ff578063710e5d2f1461074c5780637ce3489b1461076f5780637f5b47cd14610792578063867e248c146107f357806395d89b411461081c578063995b5aae146108aa5780639dc29fac14610938578063a9059cbb14610992578063acf97a65146109ec578063b2bdfa7b14610a46578063b31c710a14610a9b578063cae9ca5114610af0578063d5a6c97a14610b8d578063dd62ed3e14610bd2578063e30443bc14610c3e578063f0141d8414610c80578063f7ea7a3d14610ca9575b34156101c257600080fd5b600080fd5b34156101d257600080fd5b6101da610ccc565b6040518082815260200191505060405180910390f35b34156101fb57600080fd5b610203610cd2565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610243578082015181840152602081019050610228565b50505050905090810190601f1680156102705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561028957600080fd5b6102be600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d70565b604051808215151515815260200191505060405180910390f35b34156102e357600080fd5b6102eb610ffe565b6040518082815260200191505060405180910390f35b341561030c57600080fd5b610360600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611008565b604051808215151515815260200191505060405180910390f35b341561038557600080fd5b6103d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611603565b005b34156103e657600080fd5b610436600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506116c8565b005b341561044357600080fd5b61044b61173e565b604051808260ff1660ff16815260200191505060405180910390f35b341561047257600080fd5b6104c6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611751565b005b34156104d357600080fd5b610508600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611832565b005b341561051557600080fd5b61054c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506118df565b005b341561055957600080fd5b6105616119a7565b6040518082815260200191505060405180910390f35b341561058257600080fd5b6105b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506119ad565b005b34156105c657600080fd5b6105ce611a1b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561060e5780820151818401526020810190506105f3565b50505050905090810190601f16801561063b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561065457600080fd5b61068b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050611ab9565b005b341561069857600080fd5b6106c4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b81565b005b34156106d157600080fd5b6106fd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d93565b005b341561070a57600080fd5b610736600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e95565b6040518082815260200191505060405180910390f35b341561075757600080fd5b61076d6004808035906020019091905050611ede565b005b341561077a57600080fd5b6107906004808035906020019091905050611f44565b005b341561079d57600080fd5b6107f1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611faa565b005b34156107fe57600080fd5b61080661206f565b6040518082815260200191505060405180910390f35b341561082757600080fd5b61082f612075565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561086f578082015181840152602081019050610854565b50505050905090810190601f16801561089c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108b557600080fd5b6108bd612113565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108fd5780820151818401526020810190506108e2565b50505050905090810190601f16801561092a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561094357600080fd5b610978600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506121b1565b604051808215151515815260200191505060405180910390f35b341561099d57600080fd5b6109d2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612221565b604051808215151515815260200191505060405180910390f35b34156109f757600080fd5b610a44600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050612431565b005b3415610a5157600080fd5b610a59612781565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610aa657600080fd5b610aae6127a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610afb57600080fd5b610b73600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506127cd565b604051808215151515815260200191505060405180910390f35b3415610b9857600080fd5b610bd0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803560ff169060200190919050506129a2565b005b3415610bdd57600080fd5b610c28600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612a5a565b6040518082815260200191505060405180910390f35b3415610c4957600080fd5b610c7e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612ae1565b005b3415610c8b57600080fd5b610c93612b84565b6040518082815260200191505060405180910390f35b3415610cb457600080fd5b610cca6004808035906020019091905050612b8c565b005b60075481565b600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d685780601f10610d3d57610100808354040283529160200191610d68565b820191906000526020600020905b815481529060010190602001808311610d4b57829003601f168201915b505050505081565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ed7576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1f21c673387876000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610eb557600080fd5b6102c65a03f11515610ec657600080fd5b505050604051805190509250610ff6565b839150610ee5856000612bf1565b15610f0b57610ef384612d9f565b9050610f088183612e1590919063ffffffff16565b91505b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600192505b505092915050565b6000600354905090565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111a3576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166315dacbea338888886000604051602001526040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050602060405180830381600087803b151561118157600080fd5b6102c65a03f1151561119257600080fd5b5050506040518051905092506115fa565b6111ac84612d9f565b91508390506111bb8686612bf1565b156111d6576111d38282612e1590919063ffffffff16565b90505b80600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611327575080600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580611326575083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b5b80156113335750600084115b156115f55761134486868685612e33565b83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156114dc5761145784600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe390919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115ec565b61156b81600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe390919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600192506115fa565b600092505b50509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561165e57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561172457600080fd5b80600e908051906020019061173a929190613209565b5050565b600460009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117ac57600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561188d57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b6001600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16148061198c57506003600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16145b151561199757600080fd5b6119a382826001612ffc565b5050565b60035481565b6003600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16141515611a0b57600080fd5b611a1782826003612ffc565b5050565b600c8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ab15780601f10611a8657610100808354040283529160200191611ab1565b820191906000526020600020905b815481529060010190602001808311611a9457829003601f168201915b505050505081565b6002600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff161480611b6657506003600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16145b1515611b7157600080fd5b611b7d82826002612ffc565b5050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bdf57600080fd5b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611c2657600080fd5b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508190508073ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611cd657600080fd5b6102c65a03f11515611ce757600080fd5b50505060405180519050600381905550600354600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040518082815260200191505060405180910390a35050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611def57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fc94c224579611362c1287bb3e82a13fbd4a04dd97c05e9fc3acf9a8c62194adb81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f3a57600080fd5b8060078190555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fa057600080fd5b8060088190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561200557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60085481565b600b8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561210b5780601f106120e05761010080835404028352916020019161210b565b820191906000526020600020905b8154815290600101906020018083116120ee57829003601f168201915b505050505081565b600e8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121a95780601f1061217e576101008083540402835291602001916121a9565b820191906000526020600020905b81548152906001019060200180831161218c57829003601f168201915b505050505081565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561220f57600080fd5b612219838361306f565b905092915050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612388576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663beabacc83387876000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561236657600080fd5b6102c65a03f1151561237757600080fd5b505050604051805190509250612429565b61239184612d9f565b91508390506123a03386612bf1565b156123bb576123b88282612e1590919063ffffffff16565b90505b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561240a5750600084115b156124245761241b33868685612e33565b60019250612429565b600092505b505092915050565b600080600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561249357600080fd5b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156124db57600080fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350600092505b845183101561277a57848381518110151561251c57fe5b9060200190602002015191506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561276f578373ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561261357600080fd5b6102c65a03f1151561262457600080fd5b50505060405180519050905080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126c681600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe390919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b826001019250612505565b5050505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006127d98484610d70565b15156127e8576000905061299b565b8373ffffffffffffffffffffffffffffffffffffffff1660405180807f72656365697665417070726f76616c28616464726573732c75696e743235362c81526020017f616464726573732c627974657329000000000000000000000000000000000000815250602e01905060405180910390207c01000000000000000000000000000000000000000000000000000000009004338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828051906020019080838360005b83811015612941578082015181840152602081019050612926565b50505050905090810190601f16801561296e5780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038160008761646e5a03f192505050151561299657600080fd5b600190505b9392505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129fe57600080fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b3c57600080fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612be757600080fd5b8060038190555050565b600060056000600260ff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612cc1575060056000600160ff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d2c575060056000600360ff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d97575060056000600360ff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b6000806000612dc1600854612db386613190565b6131a490919063ffffffff16565b9150612dea600460009054906101000a900460ff1660ff166007546131d790919063ffffffff16565b90508082101515612dfd57809250612e0e565b80821015612e0d57819250612e0e565b5b5050919050565b6000808284019050838110151515612e2957fe5b8091505092915050565b612e8582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f1a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e1590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612fcc8484612bf1565b15612fdd57612fdb848261306f565b505b50505050565b6000828211151515612ff157fe5b818303905092915050565b81600560008360ff1660ff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60008161307b84611e95565b1015151561308857600080fd5b6130da82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061313282600354612fe390919063ffffffff16565b6003819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600061319d8260646131ee565b9050919050565b600080828402905060008414806131c557508284828115156131c257fe5b04145b15156131cd57fe5b8091505092915050565b60006131e68383600a0a6131a4565b905092915050565b60008082848115156131fc57fe5b0490508091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061324a57805160ff1916838001178555613278565b82800160010185558215613278579182015b8281111561327757825182559160200191906001019061325c565b5b5090506132859190613289565b5090565b6132ab91905b808211156132a757600081600090555060010161328f565b5090565b905600a165627a7a7230582069a021846381dd2a17b93e23924abff41470c5a59121fc106cc174e13e576eb70029
Deployed Bytecode
0x6060604052600436106101b7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301f59d16146101c757806306fdde03146101f0578063095ea7b31461027e57806318160ddd146102d857806323b872dd1461030157806329780a4e1461037a57806330a69955146103db578063313ce5671461043857806333dd1b8a14610467578063346bfd9f146104c85780633b33175b1461050a5780633eaaf86b1461054e57806353d6fd591461057757806354fd4d50146105bb57806359fa0663146106495780635b7a50f71461068d5780635ed411e5146106c657806370a08231146106ff578063710e5d2f1461074c5780637ce3489b1461076f5780637f5b47cd14610792578063867e248c146107f357806395d89b411461081c578063995b5aae146108aa5780639dc29fac14610938578063a9059cbb14610992578063acf97a65146109ec578063b2bdfa7b14610a46578063b31c710a14610a9b578063cae9ca5114610af0578063d5a6c97a14610b8d578063dd62ed3e14610bd2578063e30443bc14610c3e578063f0141d8414610c80578063f7ea7a3d14610ca9575b34156101c257600080fd5b600080fd5b34156101d257600080fd5b6101da610ccc565b6040518082815260200191505060405180910390f35b34156101fb57600080fd5b610203610cd2565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610243578082015181840152602081019050610228565b50505050905090810190601f1680156102705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561028957600080fd5b6102be600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d70565b604051808215151515815260200191505060405180910390f35b34156102e357600080fd5b6102eb610ffe565b6040518082815260200191505060405180910390f35b341561030c57600080fd5b610360600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611008565b604051808215151515815260200191505060405180910390f35b341561038557600080fd5b6103d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611603565b005b34156103e657600080fd5b610436600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506116c8565b005b341561044357600080fd5b61044b61173e565b604051808260ff1660ff16815260200191505060405180910390f35b341561047257600080fd5b6104c6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611751565b005b34156104d357600080fd5b610508600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611832565b005b341561051557600080fd5b61054c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506118df565b005b341561055957600080fd5b6105616119a7565b6040518082815260200191505060405180910390f35b341561058257600080fd5b6105b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506119ad565b005b34156105c657600080fd5b6105ce611a1b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561060e5780820151818401526020810190506105f3565b50505050905090810190601f16801561063b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561065457600080fd5b61068b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050611ab9565b005b341561069857600080fd5b6106c4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b81565b005b34156106d157600080fd5b6106fd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d93565b005b341561070a57600080fd5b610736600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e95565b6040518082815260200191505060405180910390f35b341561075757600080fd5b61076d6004808035906020019091905050611ede565b005b341561077a57600080fd5b6107906004808035906020019091905050611f44565b005b341561079d57600080fd5b6107f1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611faa565b005b34156107fe57600080fd5b61080661206f565b6040518082815260200191505060405180910390f35b341561082757600080fd5b61082f612075565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561086f578082015181840152602081019050610854565b50505050905090810190601f16801561089c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108b557600080fd5b6108bd612113565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108fd5780820151818401526020810190506108e2565b50505050905090810190601f16801561092a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561094357600080fd5b610978600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506121b1565b604051808215151515815260200191505060405180910390f35b341561099d57600080fd5b6109d2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612221565b604051808215151515815260200191505060405180910390f35b34156109f757600080fd5b610a44600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050612431565b005b3415610a5157600080fd5b610a59612781565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610aa657600080fd5b610aae6127a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610afb57600080fd5b610b73600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506127cd565b604051808215151515815260200191505060405180910390f35b3415610b9857600080fd5b610bd0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803560ff169060200190919050506129a2565b005b3415610bdd57600080fd5b610c28600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612a5a565b6040518082815260200191505060405180910390f35b3415610c4957600080fd5b610c7e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612ae1565b005b3415610c8b57600080fd5b610c93612b84565b6040518082815260200191505060405180910390f35b3415610cb457600080fd5b610cca6004808035906020019091905050612b8c565b005b60075481565b600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d685780601f10610d3d57610100808354040283529160200191610d68565b820191906000526020600020905b815481529060010190602001808311610d4b57829003601f168201915b505050505081565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ed7576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1f21c673387876000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610eb557600080fd5b6102c65a03f11515610ec657600080fd5b505050604051805190509250610ff6565b839150610ee5856000612bf1565b15610f0b57610ef384612d9f565b9050610f088183612e1590919063ffffffff16565b91505b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600192505b505092915050565b6000600354905090565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111a3576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166315dacbea338888886000604051602001526040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050602060405180830381600087803b151561118157600080fd5b6102c65a03f1151561119257600080fd5b5050506040518051905092506115fa565b6111ac84612d9f565b91508390506111bb8686612bf1565b156111d6576111d38282612e1590919063ffffffff16565b90505b80600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611327575080600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580611326575083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b5b80156113335750600084115b156115f55761134486868685612e33565b83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156114dc5761145784600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe390919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115ec565b61156b81600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe390919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600192506115fa565b600092505b50509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561165e57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561172457600080fd5b80600e908051906020019061173a929190613209565b5050565b600460009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117ac57600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561188d57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b6001600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16148061198c57506003600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16145b151561199757600080fd5b6119a382826001612ffc565b5050565b60035481565b6003600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16141515611a0b57600080fd5b611a1782826003612ffc565b5050565b600c8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ab15780601f10611a8657610100808354040283529160200191611ab1565b820191906000526020600020905b815481529060010190602001808311611a9457829003601f168201915b505050505081565b6002600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff161480611b6657506003600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16145b1515611b7157600080fd5b611b7d82826002612ffc565b5050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bdf57600080fd5b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611c2657600080fd5b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508190508073ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611cd657600080fd5b6102c65a03f11515611ce757600080fd5b50505060405180519050600381905550600354600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040518082815260200191505060405180910390a35050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611def57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fc94c224579611362c1287bb3e82a13fbd4a04dd97c05e9fc3acf9a8c62194adb81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f3a57600080fd5b8060078190555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fa057600080fd5b8060088190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561200557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60085481565b600b8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561210b5780601f106120e05761010080835404028352916020019161210b565b820191906000526020600020905b8154815290600101906020018083116120ee57829003601f168201915b505050505081565b600e8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121a95780601f1061217e576101008083540402835291602001916121a9565b820191906000526020600020905b81548152906001019060200180831161218c57829003601f168201915b505050505081565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561220f57600080fd5b612219838361306f565b905092915050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612388576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663beabacc83387876000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561236657600080fd5b6102c65a03f1151561237757600080fd5b505050604051805190509250612429565b61239184612d9f565b91508390506123a03386612bf1565b156123bb576123b88282612e1590919063ffffffff16565b90505b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561240a5750600084115b156124245761241b33868685612e33565b60019250612429565b600092505b505092915050565b600080600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561249357600080fd5b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156124db57600080fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350600092505b845183101561277a57848381518110151561251c57fe5b9060200190602002015191506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561276f578373ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561261357600080fd5b6102c65a03f1151561262457600080fd5b50505060405180519050905080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126c681600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe390919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b826001019250612505565b5050505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006127d98484610d70565b15156127e8576000905061299b565b8373ffffffffffffffffffffffffffffffffffffffff1660405180807f72656365697665417070726f76616c28616464726573732c75696e743235362c81526020017f616464726573732c627974657329000000000000000000000000000000000000815250602e01905060405180910390207c01000000000000000000000000000000000000000000000000000000009004338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828051906020019080838360005b83811015612941578082015181840152602081019050612926565b50505050905090810190601f16801561296e5780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038160008761646e5a03f192505050151561299657600080fd5b600190505b9392505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129fe57600080fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b3c57600080fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612be757600080fd5b8060038190555050565b600060056000600260ff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612cc1575060056000600160ff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d2c575060056000600360ff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d97575060056000600360ff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b6000806000612dc1600854612db386613190565b6131a490919063ffffffff16565b9150612dea600460009054906101000a900460ff1660ff166007546131d790919063ffffffff16565b90508082101515612dfd57809250612e0e565b80821015612e0d57819250612e0e565b5b5050919050565b6000808284019050838110151515612e2957fe5b8091505092915050565b612e8582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f1a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e1590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612fcc8484612bf1565b15612fdd57612fdb848261306f565b505b50505050565b6000828211151515612ff157fe5b818303905092915050565b81600560008360ff1660ff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60008161307b84611e95565b1015151561308857600080fd5b6130da82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061313282600354612fe390919063ffffffff16565b6003819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600061319d8260646131ee565b9050919050565b600080828402905060008414806131c557508284828115156131c257fe5b04145b15156131cd57fe5b8091505092915050565b60006131e68383600a0a6131a4565b905092915050565b60008082848115156131fc57fe5b0490508091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061324a57805160ff1916838001178555613278565b82800160010185558215613278579182015b8281111561327757825182559160200191906001019061325c565b5b5090506132859190613289565b5090565b6132ab91905b808211156132a757600081600090555060010161328f565b5090565b905600a165627a7a7230582069a021846381dd2a17b93e23924abff41470c5a59121fc106cc174e13e576eb70029
Swarm Source
bzzr://69a021846381dd2a17b93e23924abff41470c5a59121fc106cc174e13e576eb7
Loading...
Loading
Loading...
Loading
Net Worth in USD
$16.82
Net Worth in ETH
0.00853
Token Allocations
BUX
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| BSC | 100.00% | $0.494659 | 34 | $16.82 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.