ETH Price: $1,972.91 (-1.78%)
 

Overview

Max Total Supply

0 nox

Holders

0

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

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:
GameX

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-09-11
*/

pragma solidity ^0.4.24;

//import './library/SafeMath';

contract GameX {
    using SafeMath for uint256;
    string public name = "GameX";    // Contract name
    string public symbol = "nox";
    
    // dev setting
    mapping(address => bool) admins;
    bool public activated = false;
    uint public compot;
    
    // game setting
    uint minFee = 0.01 ether;
    uint maxFee = 1 ether;
    uint minLucky = 0.1 ether;
    uint retryfee = 0.1 ether;
    uint16 public luckynum = 2;
    uint16 public fuckynum = 90;
    uint lastnumtime = now;
    
    // sta
    uint public noncex = 1;
    
    uint public timeslucky;
    uint public times6;
    uint public times7;
    uint public times8;
    uint public times9;
    uint public timesno;
    uint public timesfucky;
    uint16 public limit6 = 79;
    uint16 public limit7 = 86;
    uint16 public limit8 = 92;
    uint16 public limit9 = 97;
    uint16 public reward6 = 11;
    uint16 public reward7 = 13;
    uint16 public reward8 = 16;
    uint16 public reward9 = 23;
    uint16 public inmax = 100;
    
    // one of seed
    uint private lastPlayer;
    
    uint public jackpot = 0; // current jackpot eth
    uint public maskpot = 0; // current maskpot eth
    uint public gameTotalGen = 0;
    
    uint public _iD;
    mapping(address => player) public player_;
    mapping(uint => address) public addrXid;
    
    struct player {
        uint16[] playerNum;  // card array
        uint16 playerTotal;  // sum of current round
        uint id;
        uint playerWin;      // win of current round
        uint playerGen;      // outcome of current round
        uint playerWinPot;   // eth in game wallet which can be withdrawed
        uint RetryTimes;     //
        uint lastRetryTime;  // last retry time , 6 hours int
        bool hasRetry;       //
        address Aff;         // referee address
        uint totalGen;
        bool hasAddTime;
    }
    
    constructor()
    {
        admins[address(msg.sender)] = true;
        admins[0x8f92200dd83e8f25cb1dafba59d5532507998307] = true;
        admins[0x9656DDAB1448B0CFbDbd71fbF9D7BB425D8F3fe6] = true;
    }
    
    modifier isActivated() {
        require(activated, "not ready yet");
        _;
    }
    
    modifier isHuman() {
        address _addr = msg.sender;
        require(_addr == tx.origin);
        
        uint256 _codeLength;
        
        assembly {_codeLength := extcodesize(_addr)}
        require(_codeLength == 0, "sorry humans only");
        _;
    }
    
    modifier validAff(address _addr) {
        uint256 _codeLength;
        
        assembly {_codeLength := extcodesize(_addr)}
        require(_codeLength == 0, "sorry humans only");
        _;
    }
    
    modifier onlyOwner() {
        require(admins[msg.sender], "only admin");
        _;
    }
    
    // sorry if anyone send eth directly , it will going to the community pot
    function()
    public
    payable
    {
        compot += msg.value;
    }
    
    function getPlayerNum() constant public returns (uint16[]) {
        return player_[msg.sender].playerNum;
    }
    
    function getPlayerWin(address _addr) public view returns (uint, uint) {
        if (gameTotalGen == 0)
        {
            return (player_[_addr].playerWinPot, 0);
        }
        return (player_[_addr].playerWinPot, maskpot.mul(player_[_addr].totalGen).div(gameTotalGen));
    }
    
    function isLuckyGuy()
    private
    view
    returns (uint8)
    {
        if (player_[msg.sender].playerTotal == luckynum || player_[msg.sender].playerTotal == 100) {
            return 5;
        }
        
        uint8 _retry = 0;
        if (player_[msg.sender].hasRetry){
            _retry = 1;
        }
        if (player_[msg.sender].playerTotal <= 33 && player_[msg.sender].playerNum.length.sub(_retry) >= 3) {
            return 10;
        }
        return 0;
    }
    
    function Card(uint8 _num, bool _retry, address _ref)
    isActivated
    isHuman
    validAff(_ref)
    public
    payable
    {
        require(msg.value > 0);
        uint256 amount = msg.value;
        
        if (player_[msg.sender].playerGen == 0)
        {
            player_[msg.sender].playerNum.length = 0;
        }
        
        // if got another chance to fetch a card
        
        if (player_[msg.sender].id == 0)
        {
            _iD ++;
            player_[msg.sender].id = _iD;
            addrXid[_iD] = msg.sender;
        }
        
        // amount must be valid
        if (amount < minFee * _num || amount > maxFee * _num) {
            compot += amount;
            return;
        }
        
        if (player_[msg.sender].playerGen > 0)
        {
            // restrict max bet
            require(player_[msg.sender].playerGen.mul(inmax).mul(_num) >= amount);
        }
        
        if (_retry && _num == 1) {
            if (admins[msg.sender]==false){
                require(
                    player_[msg.sender].playerNum.length > 0 &&
                    player_[msg.sender].hasRetry == false && // not retry yet current round
                    player_[msg.sender].RetryTimes > 0 && // must have a unused aff
                    player_[msg.sender].lastRetryTime <= (now - 1 hours), // retry in max 4 times a day. 1 hours int
                    'retry fee need to be valid'
                );
            }else{
                // only to let dev test re-draw cards situation
                player_[msg.sender].RetryTimes ++;
            }
            
            player_[msg.sender].hasRetry = true;
            player_[msg.sender].RetryTimes --;
            player_[msg.sender].lastRetryTime = now;
            
            uint16 lastnum = player_[msg.sender].playerNum[player_[msg.sender].playerNum.length - 1];
            player_[msg.sender].playerTotal -= lastnum;
            player_[msg.sender].playerNum.length = player_[msg.sender].playerNum.length - 1;
            // flag for retry number
            player_[msg.sender].playerNum.push(100 + lastnum);
        }
        
        compot += amount.div(100);
        
        // jackpot got 99% of the amount
        jackpot += amount.sub(amount.div(100));
        
        player_[msg.sender].playerGen += amount.sub(amount.div(100));
        
        // update player gen pot
        // if got a referee , add it
        // if ref valid, then add one more time
        if (
            player_[msg.sender].Aff == address(0x0) &&
            _ref != address(0x0) &&
            _ref != msg.sender &&
            player_[_ref].id > 0
        )
        {
            player_[msg.sender].Aff = _ref;
        }
        
        // random number
        for (uint16 i = 1; i <= _num; i++) {
            uint16 x = randomX(i);
            // push x number to player current round and calculate it
            player_[msg.sender].playerNum.push(x);
            player_[msg.sender].playerTotal += x;
        }
        
        // lucky get jackpot 5-10%
        uint16 _case = isLuckyGuy();
        if (_case > 0) {
            timeslucky ++;
            //  win  3.6 * gen
            player_[msg.sender].playerWin = player_[msg.sender].playerGen.mul(36).div(10);
            if (amount >= minLucky) {
                player_[msg.sender].playerWin += jackpot.mul(_case).div(100);
            }
            endRound();
            return;
        }
        
        // reset Player if done
        if (player_[msg.sender].playerTotal > 100 || player_[msg.sender].playerTotal == fuckynum) {
            timesno ++;
            // rest 98% of cuurent gen to jackpot
            uint tocom = player_[msg.sender].playerGen.div(50);
            compot += tocom;
            subJackPot(tocom);
            
            if (player_[msg.sender].playerTotal == fuckynum)
                timesfucky++;
            
            player_[msg.sender].playerWin = 0;
            endRound();
            return;
        }
        
        if (player_[msg.sender].playerTotal > limit9) {
            times9 ++;
            player_[msg.sender].playerWin = player_[msg.sender].playerGen.mul(reward9).div(10);
            return;
        }
        
        if (player_[msg.sender].playerTotal > limit8) {
            times8 ++;
            player_[msg.sender].playerWin = player_[msg.sender].playerGen.mul(reward8).div(10);
            return;
        }
        
        if (player_[msg.sender].playerTotal > limit7) {
            times7 ++;
            player_[msg.sender].playerWin = player_[msg.sender].playerGen.mul(reward7).div(10);
            return;
        }
        
        if (player_[msg.sender].playerTotal > limit6) {
            times6 ++;
            player_[msg.sender].playerWin = player_[msg.sender].playerGen.mul(reward6).div(10);
        }
    }
    
    event resultlog(address indexed user, uint16[] num, uint16 indexed total, uint gen, uint win, uint time, uint16 luckynum, uint16 fuckynum);
    
    function resetPlayer()
    isActivated
    isHuman
    private
    {
        emit resultlog(
            msg.sender,
            player_[msg.sender].playerNum,
            player_[msg.sender].playerTotal,
            player_[msg.sender].playerGen,
            player_[msg.sender].playerWin,
            now,
            luckynum,
            fuckynum
        );
        // reset
        player_[msg.sender].totalGen += player_[msg.sender].playerGen;
        gameTotalGen += player_[msg.sender].playerGen;
        if (
            player_[msg.sender].Aff != address(0x0) &&
            player_[msg.sender].hasAddTime == false &&
            player_[msg.sender].totalGen > retryfee
        ) {
            player_[player_[msg.sender].Aff].RetryTimes++;
            player_[player_[msg.sender].Aff].hasAddTime = true;
        }
        
        player_[msg.sender].playerGen = 0;
        
        player_[msg.sender].playerTotal = 0;
        
        //player_[msg.sender].playerNum.length = 0;
        
        player_[msg.sender].hasRetry = false;
        
        // current win going to player win pot
        player_[msg.sender].playerWinPot += player_[msg.sender].playerWin;
        
        player_[msg.sender].playerWin = 0;
        
        if (luckynum == 0 || lastnumtime + 1 hours <= now) {
            luckynum = randomX(luckynum);
            lastnumtime = now;
            fuckynum ++;
            if (fuckynum >= 99)
                fuckynum = 85;
        }
    }
    
    function subJackPot(uint _amount)
    private
    {
        if (_amount < jackpot) {
            jackpot = jackpot.sub(_amount);
        } else {
            jackpot = 0;
        }
    }
    
    function endRound()
    isActivated
    isHuman
    public
    {
        if (player_[msg.sender].playerTotal == 0) {
            return;
        }
        
        if (player_[msg.sender].playerTotal <= limit8 && player_[msg.sender].playerWin == 0) {
            player_[msg.sender].playerWin = player_[msg.sender].playerGen.div(3);
        }
        
        subJackPot(player_[msg.sender].playerWin);
        resetPlayer();
    }
    
    function withdraw()
    isActivated
    isHuman
    public
    payable
    {
        (uint pot, uint mask) = getPlayerWin(msg.sender);
        uint amount = pot + mask;
        require(amount > 0, 'sorry not enough eth to withdraw');
        
        if (amount > address(this).balance)
            amount = address(this).balance;
        
        msg.sender.transfer(amount);
        player_[msg.sender].playerWinPot = 0;
        player_[msg.sender].totalGen = 0;
        
        maskpot = maskpot.sub(mask);
    }
    
    
    event randomlog(address addr, uint16 x);
    
    function randomX(uint16 _s)
    private
    returns (uint16)
    {
        uint256 x = uint256(keccak256(abi.encodePacked(
                (block.timestamp).add
                (block.difficulty).add
                ((uint256(keccak256(abi.encodePacked(block.coinbase)))) / (now)).add
                ((uint256(keccak256(abi.encodePacked(msg.sender)))) / (now)).add
                (block.number).add
                (lastPlayer).add
                (gasleft()).add
                (block.gaslimit).add
                (noncex).add
                (_s)
            )));
        // change of the seed
        
        x = x - ((x / 100) * 100);
        
        if (x > 50) {
            lastPlayer = player_[msg.sender].id;
        } else {
            noncex ++;
            if (noncex > 1000000000)
                noncex = 1;
        }
        
        if (x == 0) {
            x = 1;
        }
        emit randomlog(msg.sender, uint16(x));
        return uint16(x);
    }
    
    // admin==================================
    function active()
    onlyOwner
    public
    {
        activated = true;
    }
    
    function setAdmin(address _addr)
    onlyOwner
    public
    {
        admins[_addr] = true;
    }
    
    function withCom(address _addr)
    onlyOwner
    public
    {
        uint _com = compot;
        if (address(this).balance < _com)
            _com = address(this).balance;
        
        compot = 0;
        _addr.transfer(_com);
    }
    
    function openJackPot(uint amount)
    onlyOwner
    public
    {
        require(amount <= jackpot);
        
        maskpot += amount;
        jackpot -= amount;
    }
    
    // just gar the right num
    function resetTime(uint16 r6,uint16 r7,uint16 r8, uint16 r9, uint16 l6,uint16 l7,uint16 l8, uint16 l9,uint max,uint16 _inmax)
    onlyOwner
    public {
        times6 = 0;
        times7 = 0;
        times8 = 0;
        times9 = 0;
        timeslucky = 0;
        timesfucky = 0;
        timesno = 0;
        if (r6 > 0)
            reward6 = r6;
        if (r7 > 0)
            reward7 = r7;
        if (r8 > 0)
            reward8 = r8;
        if (r9 > 0)
            reward9 = r9;
        if (l6 > 0)
            limit6 = l6;
        if (l7 > 0)
            limit7 = l7;
        if (l8 > 0)
            limit8 = l8;
        if (l9 > 0)
            limit9 = l9;
        if (max > 1)
            maxFee = max;
        if (inmax >= 3)
            inmax =_inmax;
    }
}

library SafeMath {
    
    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b)
    internal
    pure
    returns (uint256 c)
    {
        if (a == 0) {
            return 0;
        }
        c = a * b;
        require(c / a == b, "SafeMath mul failed");
        return c;
    }
    
    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }
    
    /**
    * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b)
    internal
    pure
    returns (uint256)
    {
        require(b <= a, "SafeMath sub failed");
        return a - b;
    }
    
    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b)
    internal
    pure
    returns (uint256 c)
    {
        c = a + b;
        require(c >= a, "SafeMath add failed");
        return c;
    }
    
    /**
     * @dev gives square root of given x.
     */
    function sqrt(uint256 x)
    internal
    pure
    returns (uint256 y)
    {
        uint256 z = ((add(x, 1)) / 2);
        y = x;
        while (z < y)
        {
            y = z;
            z = ((add((x / z), z)) / 2);
        }
    }
    
    /**
     * @dev gives square. multiplies x by x
     */
    function sq(uint256 x)
    internal
    pure
    returns (uint256)
    {
        return (mul(x, x));
    }
    
    /**
     * @dev x to the power of y
     */
    function pwr(uint256 x, uint256 y)
    internal
    pure
    returns (uint256)
    {
        if (x == 0)
            return (0);
        else if (y == 0)
            return (1);
        else
        {
            uint256 z = x;
            for (uint256 i = 1; i < y; i++)
                z = mul(z, x);
            return (z);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[],"name":"active","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"times9","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"activated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_iD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"times6","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reward9","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reward6","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPlayerNum","outputs":[{"name":"","type":"uint16[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"player_","outputs":[{"name":"playerTotal","type":"uint16"},{"name":"id","type":"uint256"},{"name":"playerWin","type":"uint256"},{"name":"playerGen","type":"uint256"},{"name":"playerWinPot","type":"uint256"},{"name":"RetryTimes","type":"uint256"},{"name":"lastRetryTime","type":"uint256"},{"name":"hasRetry","type":"bool"},{"name":"Aff","type":"address"},{"name":"totalGen","type":"uint256"},{"name":"hasAddTime","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"openJackPot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"times8","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"addrXid","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reward8","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reward7","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"jackpot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maskpot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"timeslucky","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"endRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"luckynum","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"limit6","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"withCom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"times7","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"inmax","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"noncex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"limit9","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"limit8","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"compot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fuckynum","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gameTotalGen","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getPlayerWin","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"limit7","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timesno","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_num","type":"uint8"},{"name":"_retry","type":"bool"},{"name":"_ref","type":"address"}],"name":"Card","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"timesfucky","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"r6","type":"uint16"},{"name":"r7","type":"uint16"},{"name":"r8","type":"uint16"},{"name":"r9","type":"uint16"},{"name":"l6","type":"uint16"},{"name":"l7","type":"uint16"},{"name":"l8","type":"uint16"},{"name":"l9","type":"uint16"},{"name":"max","type":"uint256"},{"name":"_inmax","type":"uint16"}],"name":"resetTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"num","type":"uint16[]"},{"indexed":true,"name":"total","type":"uint16"},{"indexed":false,"name":"gen","type":"uint256"},{"indexed":false,"name":"win","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"},{"indexed":false,"name":"luckynum","type":"uint16"},{"indexed":false,"name":"fuckynum","type":"uint16"}],"name":"resultlog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"x","type":"uint16"}],"name":"randomlog","type":"event"}]

60c0604052600560808190527f47616d655800000000000000000000000000000000000000000000000000000060a0908152620000409160009190620002d0565b506040805180820190915260038082527f6e6f78000000000000000000000000000000000000000000000000000000000060209092019182526200008791600191620002d0565b506000600360006101000a81548160ff021916908315150217905550662386f26fc10000600555670de0b6b3a764000060065567016345785d8a000060075567016345785d8a00006008556002600960006101000a81548161ffff021916908361ffff160217905550605a600960026101000a81548161ffff021916908361ffff16021790555042600a556001600b55604f601360006101000a81548161ffff021916908361ffff1602179055506056601360026101000a81548161ffff021916908361ffff160217905550605c601360046101000a81548161ffff021916908361ffff1602179055506061601360066101000a81548161ffff021916908361ffff160217905550600b601360086101000a81548161ffff021916908361ffff160217905550600d6013600a6101000a81548161ffff021916908361ffff16021790555060106013600c6101000a81548161ffff021916908361ffff16021790555060176013600e6101000a81548161ffff021916908361ffff1602179055506064601360106101000a81548161ffff021916908361ffff1602179055506000601555600060165560006017553480156200024157600080fd5b503360009081526002602052604081208054600160ff1991821681179092557fb3d4fe0afaa22bd128c6d6dc37d86a17e92e030e436b69116e84ce6a0545fdd58054821683179055739656ddab1448b0cfbdbd71fbf9d7bb425d8f3fe69092527f154041f673cd8c427f1558bd27498c2b03f5ab1745cec56b8ca76965efe04584805490921617905562000375565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200031357805160ff191683800117855562000343565b8280016001018555821562000343579182015b828111156200034357825182559160200191906001019062000326565b506200035192915062000355565b5090565b6200037291905b808211156200035157600081556001016200035c565b90565b6124c080620003856000396000f3006080604052600436106101e25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302fb0c5e81146101ec578063041fa8aa1461020357806306fdde031461022a578063186601ca146102b457806319d2fe85146102dd5780631ae638f7146102f25780631ea6af821461030757806323dc33b914610333578063293d5050146103485780632b68b65b146103ad57806331eca9df146104365780633ccfd60b1461044e5780633edcd61f1461045657806345cf3fc21461046b578063519bf6021461049f5780636ae22740146104b45780636b31ee01146104c95780636c24e2db146104de578063704b6c02146104f357806373047e9314610514578063749aa2d91461052957806387b2fe7f1461053e5780638af2d15214610553578063940aba201461056857806395d89b4114610589578063979c24411461059e578063b03c6729146105b3578063b3f5ab78146105c8578063bb6af3da146105dd578063c36360f2146105f2578063c4cbb59114610607578063c5135ba01461061c578063d020ae4014610631578063d02af63814610646578063dbb98cae14610680578063ed2fbf9614610695578063f728089c146106aa578063fc794183146106c9578063feed35d5146106de575b6004805434019055005b3480156101f857600080fd5b50610201610730565b005b34801561020f57600080fd5b50610218610796565b60408051918252519081900360200190f35b34801561023657600080fd5b5061023f61079c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610279578181015183820152602001610261565b50505050905090810190601f1680156102a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c057600080fd5b506102c961082a565b604080519115158252519081900360200190f35b3480156102e957600080fd5b50610218610833565b3480156102fe57600080fd5b50610218610839565b34801561031357600080fd5b5061031c61083f565b6040805161ffff9092168252519081900360200190f35b34801561033f57600080fd5b5061031c61085b565b34801561035457600080fd5b5061035d610871565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610399578181015183820152602001610381565b505050509050019250505060405180910390f35b3480156103b957600080fd5b506103ce600160a060020a03600435166108fb565b6040805161ffff909c168c5260208c019a909a528a8a019890985260608a0196909652608089019490945260a088019290925260c0870152151560e0860152600160a060020a0316610100850152610120840152151561014083015251908190036101600190f35b34801561044257600080fd5b50610201600435610969565b6102016109e3565b34801561046257600080fd5b50610218610b68565b34801561047757600080fd5b50610483600435610b6e565b60408051600160a060020a039092168252519081900360200190f35b3480156104ab57600080fd5b5061031c610b89565b3480156104c057600080fd5b5061031c610ba3565b3480156104d557600080fd5b50610218610bbb565b3480156104ea57600080fd5b50610218610bc1565b3480156104ff57600080fd5b50610201600160a060020a0360043516610bc7565b34801561052057600080fd5b50610218610c42565b34801561053557600080fd5b50610201610c48565b34801561054a57600080fd5b5061031c610db3565b34801561055f57600080fd5b5061031c610dbd565b34801561057457600080fd5b50610201600160a060020a0360043516610dc7565b34801561059557600080fd5b5061023f610e6f565b3480156105aa57600080fd5b50610218610ec9565b3480156105bf57600080fd5b5061031c610ecf565b3480156105d457600080fd5b50610218610eed565b3480156105e957600080fd5b5061031c610ef3565b3480156105fe57600080fd5b5061031c610f07565b34801561061357600080fd5b50610218610f19565b34801561062857600080fd5b5061031c610f1f565b34801561063d57600080fd5b50610218610f2f565b34801561065257600080fd5b50610667600160a060020a0360043516610f35565b6040805192835260208301919091528051918290030190f35b34801561068c57600080fd5b5061031c610fbe565b3480156106a157600080fd5b50610218610fce565b61020160ff600435166024351515600160a060020a0360443516610fd4565b3480156106d557600080fd5b5061021861193d565b3480156106ea57600080fd5b5061020161ffff60043581169060243581169060443581169060643581169060843581169060a43581169060c43581169060e43581169061010435906101243516611943565b3360009081526002602052604090205460ff161515610787576040805160e560020a62461bcd02815260206004820152600a6024820152600080516020612435833981519152604482015290519081900360640190fd5b6003805460ff19166001179055565b60105481565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108225780601f106107f757610100808354040283529160200191610822565b820191906000526020600020905b81548152906001019060200180831161080557829003601f168201915b505050505081565b60035460ff1681565b60185481565b600d5481565b6013546e010000000000000000000000000000900461ffff1681565b60135468010000000000000000900461ffff1681565b336000908152601960209081526040918290208054835181840281018401909452808452606093928301828280156108f057602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116108b75790505b505050505090505b90565b6019602052600090815260409020600181015460028201546003830154600484015460058501546006860154600787015460088801546009890154600a9099015461ffff9098169896979596949593949293919260ff80831693610100909304600160a060020a031692168b565b3360009081526002602052604090205460ff1615156109c0576040805160e560020a62461bcd02815260206004820152600a6024820152600080516020612435833981519152604482015290519081900360640190fd5b6015548111156109cf57600080fd5b601680548201905560158054919091039055565b6003546000908190819060ff161515610a34576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020612455833981519152604482015290519081900360640190fd5b336000328214610a4357600080fd5b50803b8015610a8a576040805160e560020a62461bcd0281526020600482015260116024820152600080516020612475833981519152604482015290519081900360640190fd5b610a9333610f35565b9095509350848401925060008311610af5576040805160e560020a62461bcd02815260206004820181905260248201527f736f727279206e6f7420656e6f7567682065746820746f207769746864726177604482015290519081900360640190fd5b3031831115610b0357303192505b604051339084156108fc029085906000818181858888f19350505050158015610b30573d6000803e3d6000fd5b503360009081526019602052604081206005810182905560090155601654610b5e908563ffffffff611bad16565b6016555050505050565b600f5481565b601a60205260009081526040902054600160a060020a031681565b6013546c01000000000000000000000000900461ffff1681565b6013546a0100000000000000000000900461ffff1681565b60155481565b60165481565b3360009081526002602052604090205460ff161515610c1e576040805160e560020a62461bcd02815260206004820152600a6024820152600080516020612435833981519152604482015290519081900360640190fd5b600160a060020a03166000908152600260205260409020805460ff19166001179055565b600c5481565b60035460ff161515610c92576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020612455833981519152604482015290519081900360640190fd5b336000328214610ca157600080fd5b50803b8015610ce8576040805160e560020a62461bcd0281526020600482015260116024820152600080516020612475833981519152604482015290519081900360640190fd5b3360009081526019602052604090206001015461ffff161515610d0a57610daf565b6013543360009081526019602052604090206001015461ffff6401000000009092048216911611801590610d4e575033600090815260196020526040902060030154155b15610d8b5733600090815260196020526040902060040154610d7790600363ffffffff611c1216565b336000908152601960205260409020600301555b33600090815260196020526040902060030154610da790611c29565b610daf611c57565b5050565b60095461ffff1681565b60135461ffff1681565b3360009081526002602052604081205460ff161515610e1e576040805160e560020a62461bcd02815260206004820152600a6024820152600080516020612435833981519152604482015290519081900360640190fd5b506004543031811115610e2f575030315b60006004819055604051600160a060020a0384169183156108fc02918491818181858888f19350505050158015610e6a573d6000803e3d6000fd5b505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108225780601f106107f757610100808354040283529160200191610822565b600e5481565b601354700100000000000000000000000000000000900461ffff1681565b600b5481565b6013546601000000000000900461ffff1681565b601354640100000000900461ffff1681565b60045481565b60095462010000900461ffff1681565b60175481565b60008060175460001415610f67575050600160a060020a03811660009081526019602052604081206005015490610fb9565b600160a060020a038316600090815260196020526040902060058101546017546009909201546016549192610fb4929091610fa8919063ffffffff611f9516565b9063ffffffff611c1216565b915091505b915091565b60135462010000900461ffff1681565b60115481565b6003546000908190819081908190819060ff16151561102b576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020612455833981519152604482015290519081900360640190fd5b33600032821461103a57600080fd5b50803b8015611081576040805160e560020a62461bcd0281526020600482015260116024820152600080516020612475833981519152604482015290519081900360640190fd5b88803b80156110c8576040805160e560020a62461bcd0281526020600482015260116024820152600080516020612475833981519152604482015290519081900360640190fd5b600034116110d557600080fd5b33600090815260196020526040902060040154349a50151561110c5733600090815260196020526040812061110a90826123f0565b505b336000908152601960205260409020600201541515611172576018805460010190819055336000818152601960209081526040808320600201859055938252601a905291909120805473ffffffffffffffffffffffffffffffffffffffff191690911790555b8c60ff16600554028a108061118d57508c60ff16600654028a115b1561119f57600480548b01905561192e565b336000908152601960205260408120600401541115611226578961121b8e60ff1661120f601360109054906101000a900461ffff1661ffff166019600033600160a060020a0316600160a060020a0316815260200190815260200160002060040154611f9590919063ffffffff16565b9063ffffffff611f9516565b101561122657600080fd5b8b801561123657508c60ff166001145b15611427573360009081526002602052604090205460ff16151561131e573360009081526019602052604081205411801561128457503360009081526019602052604090206008015460ff16155b80156112a0575033600090815260196020526040812060060154115b80156112c3575033600090815260196020526040902060070154610e0f19420110155b1515611319576040805160e560020a62461bcd02815260206004820152601a60248201527f726574727920666565206e65656420746f2062652076616c6964000000000000604482015290519081900360640190fd5b611338565b336000908152601960205260409020600601805460010190555b33600090815260196020526040902060088101805460ff19166001179055600681018054600019908101909155426007830155815490810190811061137957fe5b600091825260208083206010830401543384526019909152604090922060018101805461ffff198116600f9094166002026101000a90940461ffff90811694811685900316929092179091558054919a5060001991909101906113dc90826123f0565b5033600090815260196020908152604082208054600181018255908352912060108204018054600f9092166002026101000a61ffff8181021990931660648d01909316029190911790555b6114388a606463ffffffff611c1216565b6004805490910190556114626114558b606463ffffffff611c1216565b8b9063ffffffff611bad16565b60158054909101905561147f6114558b606463ffffffff611c1216565b336000908152601960205260409020600481018054909201909155600801546101009004600160a060020a03161580156114c15750600160a060020a038b1615155b80156114d65750600160a060020a038b163314155b80156114fb5750600160a060020a038b16600090815260196020526040812060020154115b1561153e57336000908152601960205260409020600801805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038e16021790555b600197505b60ff8d1661ffff8916116115cb5761155a8861200c565b336000818152601960209081526040822080546001808201835582855292842060108204018054600f9092166002026101000a61ffff818102199093168884169190910217905593909252908101805461ffff19811690841685019093169290921790915598909801979650611543565b6115d36122bf565b60ff169550600086111561167657600c805460010190553360009081526019602052604090206004015461161590600a90610fa890602463ffffffff611f9516565b336000908152601960205260409020600301556007548a106116695761164f6064610fa88861ffff16601554611f9590919063ffffffff16565b336000908152601960205260409020600301805490910190555b611671610c48565b61192e565b33600090815260196020526040902060010154606461ffff90911611806116be57506009543360009081526019602052604090206001015461ffff9081166201000090920416145b1561175257601180546001019055336000908152601960205260409020600401546116f090603263ffffffff611c1216565b6004805482019055945061170385611c29565b6009543360009081526019602052604090206001015461ffff90811662010000909204161415611737576012805460010190555b33600090815260196020526040812060030155611671610c48565b6013543360009081526019602052604090206001015461ffff66010000000000009092048216911611156117dd57601080546001019055601354336000908152601960205260409020600401546117c591600a91610fa8916e010000000000000000000000000000900461ffff16611f95565b3360009081526019602052604090206003015561192e565b6013543360009081526019602052604090206001015461ffff64010000000090920482169116111561184c57600f80546001019055601354336000908152601960205260409020600401546117c591600a91610fa8916c01000000000000000000000000900461ffff16611f95565b6013543360009081526019602052604090206001015461ffff620100009092048216911611156118b757600e80546001019055601354336000908152601960205260409020600401546117c591600a91610fa8916a0100000000000000000000900461ffff16611f95565b6013543360009081526019602052604090206001015461ffff9182169116111561192e57600d805460010190556013543360009081526019602052604090206004015461191a91600a91610fa89168010000000000000000900461ffff16611f95565b336000908152601960205260409020600301555b50505050505050505050505050565b60125481565b3360009081526002602052604090205460ff16151561199a576040805160e560020a62461bcd02815260206004820152600a6024820152600080516020612435833981519152604482015290519081900360640190fd5b6000600d819055600e819055600f8190556010819055600c8190556012819055601181905561ffff8b1611156119ef576013805469ffff000000000000000019166801000000000000000061ffff8d16021790555b60008961ffff161115611a2557601380546bffff0000000000000000000019166a010000000000000000000061ffff8c16021790555b60008861ffff161115611a5f57601380546dffff00000000000000000000000019166c0100000000000000000000000061ffff8b16021790555b60008761ffff161115611a9d57601380546fffff000000000000000000000000000019166e01000000000000000000000000000061ffff8a16021790555b60008661ffff161115611abc576013805461ffff191661ffff88161790555b60008561ffff161115611ae2576013805463ffff000019166201000061ffff8816021790555b60008461ffff161115611b0c576013805465ffff00000000191664010000000061ffff8716021790555b60008361ffff161115611b3a576013805467ffff0000000000001916660100000000000061ffff8616021790555b6001821115611b495760068290555b601354600370010000000000000000000000000000000090910461ffff1610611ba1576013805471ffff00000000000000000000000000000000191670010000000000000000000000000000000061ffff8416021790555b50505050505050505050565b600082821115611c07576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820737562206661696c656400000000000000000000000000604482015290519081900360640190fd5b508082035b92915050565b6000808284811515611c2057fe5b04949350505050565b601554811015611c4e57601554611c46908263ffffffff611bad16565b601555611c54565b60006015555b50565b60035460ff161515611ca1576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020612455833981519152604482015290519081900360640190fd5b336000328214611cb057600080fd5b50803b8015611cf7576040805160e560020a62461bcd0281526020600482015260116024820152600080516020612475833981519152604482015290519081900360640190fd5b336000818152601960209081526040918290206001810154600482015460038301546009548651958601839052958501819052426060860181905261ffff8781166080880181905262010000909804811660a0880181905260c080895287549089018190529190951698977f3d797f1331bb2d1e5671a253e1afcad2a76bdaf8285d1a0e93d5109bb9981e419794959394929390929091819060e082019089908015611dea57602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff1681526020019060020190602082600101049283019260010382029150808411611db15790505b505097505050505050505060405180910390a3336000908152601960205260409020600481015460098201805482019055601780549091019055600801546101009004600160a060020a031615801590611e575750336000908152601960205260409020600a015460ff16155b8015611e76575060085433600090815260196020526040902060090154115b15611ecd57336000908152601960205260408082206008018054600160a060020a036101009182900481168552838520600601805460019081019091559254919091041683529120600a01805460ff191690911790555b3360009081526019602052604081206004810182905560018101805461ffff1916905560088101805460ff19169055600381018054600590920180549092019091555560095461ffff161580611f29575042600a54610e100111155b15610daf57600954611f3e9061ffff1661200c565b6009805442600a5563ffff00001961ffff1990911661ffff93841617908116600162010000928390048516018416820217918290556063910490911610610daf5750506009805463ffff0000191662550000179055565b6000821515611fa657506000611c0c565b50818102818382811515611fb657fe5b0414611c0c576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d617468206d756c206661696c656400000000000000000000000000604482015290519081900360640190fd5b6000806121a18361ffff16612195600b54612195456121955a6121956014546121954361219542336040516020018082600160a060020a0316600160a060020a03166c010000000000000000000000000281526014019150506040516020818303038152906040526040518082805190602001908083835b602083106120a35780518252601f199092019160209182019101612084565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120925050508115156120d957fe5b0461219542416040516020018082600160a060020a0316600160a060020a03166c010000000000000000000000000281526014019150506040516020818303038152906040526040518082805190602001908083835b6020831061214e5780518252601f19909201916020918201910161212f565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209250505081151561218457fe5b04612195424463ffffffff61239516565b9063ffffffff61239516565b604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106121ef5780518252601f1990920191602091820191016121d0565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209350606492508391506122289050565b046064028103905060328111156122545733600090815260196020526040902060020154601455612270565b600b805460010190819055633b9aca001015612270576001600b555b80151561227b575060015b6040805133815261ffff8316602082015281517f04c36551512f333c5d7f7ef15f9bb2eb9d957f30aadebf360bf8d789adeebe54929181900390910190a192915050565b600954336000908152601960205260408120600101549091829161ffff9081169116148061230357503360009081526019602052604090206001015461ffff166064145b156123115760059150612391565b503360009081526019602052604081206008015460ff1615612331575060015b33600090815260196020526040902060010154602161ffff9091161180159061237e57503360009081526019602052604090205460039061237b9060ff841663ffffffff611bad16565b10155b1561238c57600a9150612391565b600091505b5090565b81810182811015611c0c576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820616464206661696c656400000000000000000000000000604482015290519081900360640190fd5b815481835581811115610e6a57600083815260209020610e6a916108f8916010600f928301819004820192860104015b80821115612391576000815560010161242056006f6e6c792061646d696e000000000000000000000000000000000000000000006e6f742072656164792079657400000000000000000000000000000000000000736f7272792068756d616e73206f6e6c79000000000000000000000000000000a165627a7a723058201a05ccd0f596eecf96a0134c31f190f76e32cc4bea9e0058cda5d0e6bb76a2c50029

Deployed Bytecode

0x6080604052600436106101e25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302fb0c5e81146101ec578063041fa8aa1461020357806306fdde031461022a578063186601ca146102b457806319d2fe85146102dd5780631ae638f7146102f25780631ea6af821461030757806323dc33b914610333578063293d5050146103485780632b68b65b146103ad57806331eca9df146104365780633ccfd60b1461044e5780633edcd61f1461045657806345cf3fc21461046b578063519bf6021461049f5780636ae22740146104b45780636b31ee01146104c95780636c24e2db146104de578063704b6c02146104f357806373047e9314610514578063749aa2d91461052957806387b2fe7f1461053e5780638af2d15214610553578063940aba201461056857806395d89b4114610589578063979c24411461059e578063b03c6729146105b3578063b3f5ab78146105c8578063bb6af3da146105dd578063c36360f2146105f2578063c4cbb59114610607578063c5135ba01461061c578063d020ae4014610631578063d02af63814610646578063dbb98cae14610680578063ed2fbf9614610695578063f728089c146106aa578063fc794183146106c9578063feed35d5146106de575b6004805434019055005b3480156101f857600080fd5b50610201610730565b005b34801561020f57600080fd5b50610218610796565b60408051918252519081900360200190f35b34801561023657600080fd5b5061023f61079c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610279578181015183820152602001610261565b50505050905090810190601f1680156102a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c057600080fd5b506102c961082a565b604080519115158252519081900360200190f35b3480156102e957600080fd5b50610218610833565b3480156102fe57600080fd5b50610218610839565b34801561031357600080fd5b5061031c61083f565b6040805161ffff9092168252519081900360200190f35b34801561033f57600080fd5b5061031c61085b565b34801561035457600080fd5b5061035d610871565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610399578181015183820152602001610381565b505050509050019250505060405180910390f35b3480156103b957600080fd5b506103ce600160a060020a03600435166108fb565b6040805161ffff909c168c5260208c019a909a528a8a019890985260608a0196909652608089019490945260a088019290925260c0870152151560e0860152600160a060020a0316610100850152610120840152151561014083015251908190036101600190f35b34801561044257600080fd5b50610201600435610969565b6102016109e3565b34801561046257600080fd5b50610218610b68565b34801561047757600080fd5b50610483600435610b6e565b60408051600160a060020a039092168252519081900360200190f35b3480156104ab57600080fd5b5061031c610b89565b3480156104c057600080fd5b5061031c610ba3565b3480156104d557600080fd5b50610218610bbb565b3480156104ea57600080fd5b50610218610bc1565b3480156104ff57600080fd5b50610201600160a060020a0360043516610bc7565b34801561052057600080fd5b50610218610c42565b34801561053557600080fd5b50610201610c48565b34801561054a57600080fd5b5061031c610db3565b34801561055f57600080fd5b5061031c610dbd565b34801561057457600080fd5b50610201600160a060020a0360043516610dc7565b34801561059557600080fd5b5061023f610e6f565b3480156105aa57600080fd5b50610218610ec9565b3480156105bf57600080fd5b5061031c610ecf565b3480156105d457600080fd5b50610218610eed565b3480156105e957600080fd5b5061031c610ef3565b3480156105fe57600080fd5b5061031c610f07565b34801561061357600080fd5b50610218610f19565b34801561062857600080fd5b5061031c610f1f565b34801561063d57600080fd5b50610218610f2f565b34801561065257600080fd5b50610667600160a060020a0360043516610f35565b6040805192835260208301919091528051918290030190f35b34801561068c57600080fd5b5061031c610fbe565b3480156106a157600080fd5b50610218610fce565b61020160ff600435166024351515600160a060020a0360443516610fd4565b3480156106d557600080fd5b5061021861193d565b3480156106ea57600080fd5b5061020161ffff60043581169060243581169060443581169060643581169060843581169060a43581169060c43581169060e43581169061010435906101243516611943565b3360009081526002602052604090205460ff161515610787576040805160e560020a62461bcd02815260206004820152600a6024820152600080516020612435833981519152604482015290519081900360640190fd5b6003805460ff19166001179055565b60105481565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108225780601f106107f757610100808354040283529160200191610822565b820191906000526020600020905b81548152906001019060200180831161080557829003601f168201915b505050505081565b60035460ff1681565b60185481565b600d5481565b6013546e010000000000000000000000000000900461ffff1681565b60135468010000000000000000900461ffff1681565b336000908152601960209081526040918290208054835181840281018401909452808452606093928301828280156108f057602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116108b75790505b505050505090505b90565b6019602052600090815260409020600181015460028201546003830154600484015460058501546006860154600787015460088801546009890154600a9099015461ffff9098169896979596949593949293919260ff80831693610100909304600160a060020a031692168b565b3360009081526002602052604090205460ff1615156109c0576040805160e560020a62461bcd02815260206004820152600a6024820152600080516020612435833981519152604482015290519081900360640190fd5b6015548111156109cf57600080fd5b601680548201905560158054919091039055565b6003546000908190819060ff161515610a34576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020612455833981519152604482015290519081900360640190fd5b336000328214610a4357600080fd5b50803b8015610a8a576040805160e560020a62461bcd0281526020600482015260116024820152600080516020612475833981519152604482015290519081900360640190fd5b610a9333610f35565b9095509350848401925060008311610af5576040805160e560020a62461bcd02815260206004820181905260248201527f736f727279206e6f7420656e6f7567682065746820746f207769746864726177604482015290519081900360640190fd5b3031831115610b0357303192505b604051339084156108fc029085906000818181858888f19350505050158015610b30573d6000803e3d6000fd5b503360009081526019602052604081206005810182905560090155601654610b5e908563ffffffff611bad16565b6016555050505050565b600f5481565b601a60205260009081526040902054600160a060020a031681565b6013546c01000000000000000000000000900461ffff1681565b6013546a0100000000000000000000900461ffff1681565b60155481565b60165481565b3360009081526002602052604090205460ff161515610c1e576040805160e560020a62461bcd02815260206004820152600a6024820152600080516020612435833981519152604482015290519081900360640190fd5b600160a060020a03166000908152600260205260409020805460ff19166001179055565b600c5481565b60035460ff161515610c92576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020612455833981519152604482015290519081900360640190fd5b336000328214610ca157600080fd5b50803b8015610ce8576040805160e560020a62461bcd0281526020600482015260116024820152600080516020612475833981519152604482015290519081900360640190fd5b3360009081526019602052604090206001015461ffff161515610d0a57610daf565b6013543360009081526019602052604090206001015461ffff6401000000009092048216911611801590610d4e575033600090815260196020526040902060030154155b15610d8b5733600090815260196020526040902060040154610d7790600363ffffffff611c1216565b336000908152601960205260409020600301555b33600090815260196020526040902060030154610da790611c29565b610daf611c57565b5050565b60095461ffff1681565b60135461ffff1681565b3360009081526002602052604081205460ff161515610e1e576040805160e560020a62461bcd02815260206004820152600a6024820152600080516020612435833981519152604482015290519081900360640190fd5b506004543031811115610e2f575030315b60006004819055604051600160a060020a0384169183156108fc02918491818181858888f19350505050158015610e6a573d6000803e3d6000fd5b505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108225780601f106107f757610100808354040283529160200191610822565b600e5481565b601354700100000000000000000000000000000000900461ffff1681565b600b5481565b6013546601000000000000900461ffff1681565b601354640100000000900461ffff1681565b60045481565b60095462010000900461ffff1681565b60175481565b60008060175460001415610f67575050600160a060020a03811660009081526019602052604081206005015490610fb9565b600160a060020a038316600090815260196020526040902060058101546017546009909201546016549192610fb4929091610fa8919063ffffffff611f9516565b9063ffffffff611c1216565b915091505b915091565b60135462010000900461ffff1681565b60115481565b6003546000908190819081908190819060ff16151561102b576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020612455833981519152604482015290519081900360640190fd5b33600032821461103a57600080fd5b50803b8015611081576040805160e560020a62461bcd0281526020600482015260116024820152600080516020612475833981519152604482015290519081900360640190fd5b88803b80156110c8576040805160e560020a62461bcd0281526020600482015260116024820152600080516020612475833981519152604482015290519081900360640190fd5b600034116110d557600080fd5b33600090815260196020526040902060040154349a50151561110c5733600090815260196020526040812061110a90826123f0565b505b336000908152601960205260409020600201541515611172576018805460010190819055336000818152601960209081526040808320600201859055938252601a905291909120805473ffffffffffffffffffffffffffffffffffffffff191690911790555b8c60ff16600554028a108061118d57508c60ff16600654028a115b1561119f57600480548b01905561192e565b336000908152601960205260408120600401541115611226578961121b8e60ff1661120f601360109054906101000a900461ffff1661ffff166019600033600160a060020a0316600160a060020a0316815260200190815260200160002060040154611f9590919063ffffffff16565b9063ffffffff611f9516565b101561122657600080fd5b8b801561123657508c60ff166001145b15611427573360009081526002602052604090205460ff16151561131e573360009081526019602052604081205411801561128457503360009081526019602052604090206008015460ff16155b80156112a0575033600090815260196020526040812060060154115b80156112c3575033600090815260196020526040902060070154610e0f19420110155b1515611319576040805160e560020a62461bcd02815260206004820152601a60248201527f726574727920666565206e65656420746f2062652076616c6964000000000000604482015290519081900360640190fd5b611338565b336000908152601960205260409020600601805460010190555b33600090815260196020526040902060088101805460ff19166001179055600681018054600019908101909155426007830155815490810190811061137957fe5b600091825260208083206010830401543384526019909152604090922060018101805461ffff198116600f9094166002026101000a90940461ffff90811694811685900316929092179091558054919a5060001991909101906113dc90826123f0565b5033600090815260196020908152604082208054600181018255908352912060108204018054600f9092166002026101000a61ffff8181021990931660648d01909316029190911790555b6114388a606463ffffffff611c1216565b6004805490910190556114626114558b606463ffffffff611c1216565b8b9063ffffffff611bad16565b60158054909101905561147f6114558b606463ffffffff611c1216565b336000908152601960205260409020600481018054909201909155600801546101009004600160a060020a03161580156114c15750600160a060020a038b1615155b80156114d65750600160a060020a038b163314155b80156114fb5750600160a060020a038b16600090815260196020526040812060020154115b1561153e57336000908152601960205260409020600801805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038e16021790555b600197505b60ff8d1661ffff8916116115cb5761155a8861200c565b336000818152601960209081526040822080546001808201835582855292842060108204018054600f9092166002026101000a61ffff818102199093168884169190910217905593909252908101805461ffff19811690841685019093169290921790915598909801979650611543565b6115d36122bf565b60ff169550600086111561167657600c805460010190553360009081526019602052604090206004015461161590600a90610fa890602463ffffffff611f9516565b336000908152601960205260409020600301556007548a106116695761164f6064610fa88861ffff16601554611f9590919063ffffffff16565b336000908152601960205260409020600301805490910190555b611671610c48565b61192e565b33600090815260196020526040902060010154606461ffff90911611806116be57506009543360009081526019602052604090206001015461ffff9081166201000090920416145b1561175257601180546001019055336000908152601960205260409020600401546116f090603263ffffffff611c1216565b6004805482019055945061170385611c29565b6009543360009081526019602052604090206001015461ffff90811662010000909204161415611737576012805460010190555b33600090815260196020526040812060030155611671610c48565b6013543360009081526019602052604090206001015461ffff66010000000000009092048216911611156117dd57601080546001019055601354336000908152601960205260409020600401546117c591600a91610fa8916e010000000000000000000000000000900461ffff16611f95565b3360009081526019602052604090206003015561192e565b6013543360009081526019602052604090206001015461ffff64010000000090920482169116111561184c57600f80546001019055601354336000908152601960205260409020600401546117c591600a91610fa8916c01000000000000000000000000900461ffff16611f95565b6013543360009081526019602052604090206001015461ffff620100009092048216911611156118b757600e80546001019055601354336000908152601960205260409020600401546117c591600a91610fa8916a0100000000000000000000900461ffff16611f95565b6013543360009081526019602052604090206001015461ffff9182169116111561192e57600d805460010190556013543360009081526019602052604090206004015461191a91600a91610fa89168010000000000000000900461ffff16611f95565b336000908152601960205260409020600301555b50505050505050505050505050565b60125481565b3360009081526002602052604090205460ff16151561199a576040805160e560020a62461bcd02815260206004820152600a6024820152600080516020612435833981519152604482015290519081900360640190fd5b6000600d819055600e819055600f8190556010819055600c8190556012819055601181905561ffff8b1611156119ef576013805469ffff000000000000000019166801000000000000000061ffff8d16021790555b60008961ffff161115611a2557601380546bffff0000000000000000000019166a010000000000000000000061ffff8c16021790555b60008861ffff161115611a5f57601380546dffff00000000000000000000000019166c0100000000000000000000000061ffff8b16021790555b60008761ffff161115611a9d57601380546fffff000000000000000000000000000019166e01000000000000000000000000000061ffff8a16021790555b60008661ffff161115611abc576013805461ffff191661ffff88161790555b60008561ffff161115611ae2576013805463ffff000019166201000061ffff8816021790555b60008461ffff161115611b0c576013805465ffff00000000191664010000000061ffff8716021790555b60008361ffff161115611b3a576013805467ffff0000000000001916660100000000000061ffff8616021790555b6001821115611b495760068290555b601354600370010000000000000000000000000000000090910461ffff1610611ba1576013805471ffff00000000000000000000000000000000191670010000000000000000000000000000000061ffff8416021790555b50505050505050505050565b600082821115611c07576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820737562206661696c656400000000000000000000000000604482015290519081900360640190fd5b508082035b92915050565b6000808284811515611c2057fe5b04949350505050565b601554811015611c4e57601554611c46908263ffffffff611bad16565b601555611c54565b60006015555b50565b60035460ff161515611ca1576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020612455833981519152604482015290519081900360640190fd5b336000328214611cb057600080fd5b50803b8015611cf7576040805160e560020a62461bcd0281526020600482015260116024820152600080516020612475833981519152604482015290519081900360640190fd5b336000818152601960209081526040918290206001810154600482015460038301546009548651958601839052958501819052426060860181905261ffff8781166080880181905262010000909804811660a0880181905260c080895287549089018190529190951698977f3d797f1331bb2d1e5671a253e1afcad2a76bdaf8285d1a0e93d5109bb9981e419794959394929390929091819060e082019089908015611dea57602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff1681526020019060020190602082600101049283019260010382029150808411611db15790505b505097505050505050505060405180910390a3336000908152601960205260409020600481015460098201805482019055601780549091019055600801546101009004600160a060020a031615801590611e575750336000908152601960205260409020600a015460ff16155b8015611e76575060085433600090815260196020526040902060090154115b15611ecd57336000908152601960205260408082206008018054600160a060020a036101009182900481168552838520600601805460019081019091559254919091041683529120600a01805460ff191690911790555b3360009081526019602052604081206004810182905560018101805461ffff1916905560088101805460ff19169055600381018054600590920180549092019091555560095461ffff161580611f29575042600a54610e100111155b15610daf57600954611f3e9061ffff1661200c565b6009805442600a5563ffff00001961ffff1990911661ffff93841617908116600162010000928390048516018416820217918290556063910490911610610daf5750506009805463ffff0000191662550000179055565b6000821515611fa657506000611c0c565b50818102818382811515611fb657fe5b0414611c0c576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d617468206d756c206661696c656400000000000000000000000000604482015290519081900360640190fd5b6000806121a18361ffff16612195600b54612195456121955a6121956014546121954361219542336040516020018082600160a060020a0316600160a060020a03166c010000000000000000000000000281526014019150506040516020818303038152906040526040518082805190602001908083835b602083106120a35780518252601f199092019160209182019101612084565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120925050508115156120d957fe5b0461219542416040516020018082600160a060020a0316600160a060020a03166c010000000000000000000000000281526014019150506040516020818303038152906040526040518082805190602001908083835b6020831061214e5780518252601f19909201916020918201910161212f565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209250505081151561218457fe5b04612195424463ffffffff61239516565b9063ffffffff61239516565b604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106121ef5780518252601f1990920191602091820191016121d0565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209350606492508391506122289050565b046064028103905060328111156122545733600090815260196020526040902060020154601455612270565b600b805460010190819055633b9aca001015612270576001600b555b80151561227b575060015b6040805133815261ffff8316602082015281517f04c36551512f333c5d7f7ef15f9bb2eb9d957f30aadebf360bf8d789adeebe54929181900390910190a192915050565b600954336000908152601960205260408120600101549091829161ffff9081169116148061230357503360009081526019602052604090206001015461ffff166064145b156123115760059150612391565b503360009081526019602052604081206008015460ff1615612331575060015b33600090815260196020526040902060010154602161ffff9091161180159061237e57503360009081526019602052604090205460039061237b9060ff841663ffffffff611bad16565b10155b1561238c57600a9150612391565b600091505b5090565b81810182811015611c0c576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820616464206661696c656400000000000000000000000000604482015290519081900360640190fd5b815481835581811115610e6a57600083815260209020610e6a916108f8916010600f928301819004820192860104015b80821115612391576000815560010161242056006f6e6c792061646d696e000000000000000000000000000000000000000000006e6f742072656164792079657400000000000000000000000000000000000000736f7272792068756d616e73206f6e6c79000000000000000000000000000000a165627a7a723058201a05ccd0f596eecf96a0134c31f190f76e32cc4bea9e0058cda5d0e6bb76a2c50029

Swarm Source

bzzr://1a05ccd0f596eecf96a0134c31f190f76e32cc4bea9e0058cda5d0e6bb76a2c5
Loading...
Loading
Loading...
Loading
[ 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.