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,433 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21069883 | 55 days ago | IN | 0 ETH | 0.00029161 | ||||
Approve | 19021102 | 342 days ago | IN | 0 ETH | 0.00150149 | ||||
Approve | 18322774 | 440 days ago | IN | 0 ETH | 0.00044662 | ||||
Approve | 18310854 | 441 days ago | IN | 0 ETH | 0.00021299 | ||||
Approve | 17012757 | 624 days ago | IN | 0 ETH | 0.00093211 | ||||
Approve | 17008637 | 624 days ago | IN | 0 ETH | 0.00085911 | ||||
Transfer | 16404770 | 709 days ago | IN | 0 ETH | 0.00134721 | ||||
Transfer | 16404001 | 709 days ago | IN | 0 ETH | 0.00136523 | ||||
Transfer | 16324669 | 720 days ago | IN | 0 ETH | 0.00093672 | ||||
Transfer | 14834013 | 944 days ago | IN | 0 ETH | 0.0011876 | ||||
Approve | 14468732 | 1002 days ago | IN | 0 ETH | 0.00063719 | ||||
Transfer | 12639988 | 1287 days ago | IN | 0 ETH | 0.00117971 | ||||
Transfer | 12639984 | 1287 days ago | IN | 0 ETH | 0.00043526 | ||||
Transfer | 12551227 | 1301 days ago | IN | 0 ETH | 0.00177994 | ||||
Transfer | 12517891 | 1306 days ago | IN | 0 ETH | 0.00223456 | ||||
Transfer | 12475131 | 1313 days ago | IN | 0 ETH | 0.00254519 | ||||
Transfer | 12361118 | 1330 days ago | IN | 0 ETH | 0.0024836 | ||||
Transfer | 12333769 | 1334 days ago | IN | 0 ETH | 0.00292805 | ||||
Transfer | 12333496 | 1334 days ago | IN | 0 ETH | 0.0028587 | ||||
Transfer | 12302761 | 1339 days ago | IN | 0 ETH | 0.00341363 | ||||
Transfer | 12239058 | 1349 days ago | IN | 0 ETH | 0.00747327 | ||||
Transfer | 12234124 | 1350 days ago | IN | 0 ETH | 0.00646185 | ||||
Transfer | 12218622 | 1352 days ago | IN | 0 ETH | 0.00387628 | ||||
Transfer | 12212072 | 1353 days ago | IN | 0 ETH | 0.00432663 | ||||
Transfer | 12189688 | 1357 days ago | IN | 0 ETH | 0.00754232 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
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
[{"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
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
BSC | 100.00% | $0.494659 | 34 | $16.82 |
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.