ETH Price: $3,102.04 (-0.96%)

Token

FailToken (FAIL)
 

Overview

Max Total Supply

486,301.037861713076778268 FAIL

Holders

2,706 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
elose.eth
Balance
100 FAIL

Value
$0.00
0x2C958344CAFD54d506eE190AC5481DAa007ceb8c
Loading...
Loading
Loading...
Loading
Loading...
Loading

IEO Information

Token Distribution Date  : Jul 19, 2019 (Airdrop)
Country : Romania

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
FailToken

Compiler Version
v0.5.1+commit.c8a2cb62

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-07-14
*/

/**
 Token experiment, that is ment to achieve ideal distribution before starting the deflation. Minting will be made by transfer till we reach the cap of 500 000 FAIL tokens. 

!!ATTENTION!! FAIL token has 18 decimals 

 airdrop tokens = initial supply of a maximum of 150 000 FAIL tokens
        --we will aidrop the tokens in 2 rounds:
		> 60 FAIL tokens up to 1500 addresses, based on the number of people joined the 1st month airdrop
		> 40 FAIL tokens up to 1500 addresses, based on the number of people joined to the 2nd month of airdrop

This will total 90,000 + 60,000 = 150k FAIL Tokens initial token supply.

Having a mint in place of a max 10 FAIL tokens per transaction, it means we will receive 3000 * 10 = 30 000 FAIL tokens(team FAIL tokens). We will use this amount for marketing and development purposes. Also, for BURN events and community prizes.

Minting structure:
 Max mint token per transfer is 10 FAIL tokens for sender, 
        --transfer 1-10 FAIL tokens from alice to bob, alice will mint 1-10 FAIL tokens and bob will receive 1-10 FAIL tokens, also pool contract will receive 1 FAIL token.
        --transfer 11+ FAIL tokens from alice to bob, alice will mint 10 FAIL tokens and bob will receive 11+ FAIL tokens, also pool contract will receive 2 FAIL tokens. 

 After cap will be reached - if totalSupply between 250 000 and 500 000, each time a FAIL token is transferred, 2% of the transaction amount will be destroyed.
                           - if totalSupply between 50 000 and 250 000, each time a FAIL token is transferred, 1% of the amount amount will be destroyed.
                           - if totalSupply < 50 000, each time a FAIL token is transferred, 0% of the transaction amount will be destroyed.

*/

pragma solidity ^0.5.1;

interface IERC20 {
  function totalSupply() external view returns (uint256);
  function balanceOf(address who) external view returns (uint256);
  function allowance(address owner, address spender) external view returns (uint256);
  function transfer(address to, uint256 value) external returns (bool);
  function approve(address spender, uint256 value) external returns (bool);
  function transferFrom(address from, address to, uint256 value) external returns (bool);

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

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a / b;
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }

  function ceil(uint256 a, uint256 m) internal pure returns (uint256) {
    uint256 c = add(a,m);
    uint256 d = sub(c,1);
    return mul(div(d,m),m);
  }
}

contract ERC20Detailed is IERC20 {

  string private _name;
  string private _symbol;
  uint256 private _decimals;

  constructor(string memory name, string memory symbol, uint256 decimals) public {
    _name = name;
    _symbol = symbol;
    _decimals = decimals;
  }

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

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

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

contract FailToken is ERC20Detailed {
 
  using SafeMath for uint256;
  mapping (address => uint256) private _balances;
  mapping (address => mapping (address => uint256)) private _allowed;
  string constant tokenName = "FailToken";
  string constant tokenSymbol = "FAIL";
  uint256  constant tokenDecimals = 18;
  uint256 _totalSupply = 150000000000000000000000;          //150 000
  uint256 constant maxCap = 500000000000000000000000;       //500 000
  uint256 constant halfCap = 250000000000000000000000;      //250 000
  uint256 constant minCap = 50000000000000000000000;        //50 000

  uint256 public basePercent = 100;
  bool capReached ;

  address withdraw_token_contract = 0xf6Ca469818591DBE6Add1C4a1Cd5191DB702c5d1;

  constructor() public payable ERC20Detailed(tokenName, tokenSymbol, tokenDecimals) {
    _mint(msg.sender, _totalSupply);
  }

  function totalSupply() public view returns (uint256) {
    return _totalSupply;
  }
  
  function tokenContract() public view returns (address) {
    return withdraw_token_contract;
  }

  function balanceOf(address owner) public view returns (uint256) {
    return _balances[owner];
  }
  
    function checkCap() public view returns (bool) {
    return capReached;
  }

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

  function findOnePercent(uint256 value) public view returns (uint256)  {
    uint256 roundValue = value.ceil(basePercent);
    uint256 onePercent = roundValue.mul(basePercent).div(10000);
    return onePercent;
  }
  
  function findTwoPercent(uint256 value) public view returns (uint256)  {
    uint256 roundValue = value.ceil(basePercent);
    uint256 twoPercent = roundValue.mul(basePercent).div(5000);
    return twoPercent;
  }

  function transfer(address to, uint256 value) public returns (bool) {
    require(value <= _balances[msg.sender]);
    require(to != address(0));
    require(to != address(msg.sender));

    if (_totalSupply < maxCap && capReached == false){
            if (value < 10000000000000000000) {
                 _balances[msg.sender] = _balances[msg.sender].sub(value);
                 _balances[to] = _balances[to].add(value);
                
                //do not mint in pool address when people withdraw from it
                if (withdraw_token_contract == msg.sender) {
                _totalSupply = _totalSupply;
                }
                
                else {
                _totalSupply = _totalSupply.add(value);
                _mint(msg.sender, value);  
                }

                //do not mint in pool address when people withdraw from it
                if (withdraw_token_contract == msg.sender) {
                _totalSupply = _totalSupply;
                }
                
                else {
                 _totalSupply = _totalSupply.add(1000000000000000000);
                 _mint(withdraw_token_contract, 1000000000000000000); 
                }
                
                emit Transfer(msg.sender, to, value);

                }
            
            else if (value >= 10000000000000000000) {
                 _balances[msg.sender] = _balances[msg.sender].sub(value);
                 _balances[to] = _balances[to].add(value);
                
                
                //do not mint in pool address when people withdraw from it
                if (withdraw_token_contract == msg.sender) {
                _totalSupply = _totalSupply;
                }
                
                else {
                _totalSupply = _totalSupply.add(10000000000000000000);
                _mint(msg.sender, 10000000000000000000);  
                }

                //do not mint in pool address when people withdraw from it
                if (withdraw_token_contract == msg.sender) {
                _totalSupply = _totalSupply;
                }
                
                else {
                 _totalSupply = _totalSupply.add(2000000000000000000);
                 _mint(withdraw_token_contract, 2000000000000000000); 
                }
                
                emit Transfer(msg.sender, to, value);
                
                }  
    }
    
    else if (_totalSupply >= maxCap) {
         capReached = true;
    }
    
    if (capReached == true){
        //burn 2% if total > 250000
        if (_totalSupply > halfCap) 
            {
            
            uint256 tokensToBurn = findTwoPercent(value);
            uint256 tokensToTransfer = value.sub(tokensToBurn);
        
            _balances[msg.sender] = _balances[msg.sender].sub(value);
            _balances[to] = _balances[to].add(tokensToTransfer);
        
            _totalSupply = _totalSupply.sub(tokensToBurn);
        
            emit Transfer(msg.sender, to, tokensToTransfer);
            emit Transfer(msg.sender, address(0), tokensToBurn);
    
           }

        //burn 1% if total <= 250000
        if (_totalSupply <= halfCap && _totalSupply >= minCap )
            {    
            uint256 tokensToBurn = findOnePercent(value);
            uint256 tokensToTransfer = value.sub(tokensToBurn);
        
            _balances[msg.sender] = _balances[msg.sender].sub(value);
            _balances[to] = _balances[to].add(tokensToTransfer);
        
            _totalSupply = _totalSupply.sub(tokensToBurn);
        
            emit Transfer(msg.sender, to, tokensToTransfer);
            emit Transfer(msg.sender, address(0), tokensToBurn);
            }
        
        //burn nothing if total < 50000  
        else if (_totalSupply < minCap) 
            {

        _balances[msg.sender] = _balances[msg.sender].sub(value);
        _balances[to] = _balances[to].add(value);
    
        emit Transfer(msg.sender, to, value);
            }

    }
        
    return true;
  }

  function batchTransfer(address[] memory receivers, uint256[] memory amounts) public {
    for (uint256 i = 0; i < receivers.length; i++) {
      transfer(receivers[i], amounts[i]);
    }
  }

  function approve(address spender, uint256 value) public returns (bool) {
    require(spender != address(0));
    _allowed[msg.sender][spender] = value;
    emit Approval(msg.sender, spender, value);
    return true;
  }

  function transferFrom(address from, address to, uint256 value) public returns (bool) {
    require(value <= _balances[from]);
    require(value <= _allowed[from][msg.sender]);
    require(to != address(0));

    _balances[from] = _balances[from].sub(value);

    uint256 tokensToBurn = findOnePercent(value);
    uint256 tokensToTransfer = value.sub(tokensToBurn);

    _balances[to] = _balances[to].add(tokensToTransfer);
    _totalSupply = _totalSupply.sub(tokensToBurn);

    _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);

    emit Transfer(from, to, tokensToTransfer);
    emit Transfer(from, address(0), tokensToBurn);

    return true;
  }

  function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
    require(spender != address(0));
    _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].add(addedValue));
    emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
    return true;
  }

  function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
    require(spender != address(0));
    _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].sub(subtractedValue));
    emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
    return true;
  }

  function _mint(address account, uint256 amount) internal {
    require(amount != 0);
    _balances[account] = _balances[account].add(amount);
    emit Transfer(address(0), account, amount);
  }

  function burn(uint256 amount) external {
    _burn(msg.sender, amount);
  }

  function _burn(address account, uint256 amount) internal {
    require(amount != 0);
    require(amount <= _balances[account]);
    _totalSupply = _totalSupply.sub(amount);
    _balances[account] = _balances[account].sub(amount);
    emit Transfer(account, address(0), amount);
  }

  function burnFrom(address account, uint256 amount) external {
    require(amount <= _allowed[account][msg.sender]);
    _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(amount);
    _burn(account, amount);
  }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"value","type":"uint256"}],"name":"findTwoPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"receivers","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"batchTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"value","type":"uint256"}],"name":"findOnePercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"checkCap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"basePercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

6080604052691fc3842bd1f071c00000600555606460065573f6ca469818591dbe6add1c4a1cd5191db702c5d1600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600981526020017f4661696c546f6b656e00000000000000000000000000000000000000000000008152506040805190810160405280600481526020017f4641494c0000000000000000000000000000000000000000000000000000000081525060128260009080519060200190620000f292919062000278565b5081600190805190602001906200010b92919062000278565b5080600281905550505050620001333360055462000139640100000000026401000000009004565b62000327565b600081141515156200014a57600080fd5b620001ac81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200025964010000000002620025d0179091906401000000009004565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101515156200026e57fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002bb57805160ff1916838001178555620002ec565b82800160010185558215620002ec579182015b82811115620002eb578251825591602001919060010190620002ce565b5b509050620002fb9190620002ff565b5090565b6200032491905b808211156200032057600081600090555060010162000306565b5090565b90565b61293280620003376000396000f3fe608060405260043610610101576000357c01000000000000000000000000000000000000000000000000000000009004806306fdde0314610106578063095ea7b31461019657806318160ddd1461020957806323b872dd14610234578063313ce567146102c757806335aec024146102f2578063395093511461034157806342966c68146103b457806355a373d6146103ef57806370a082311461044657806379cc6790146104ab57806388d695b21461050657806395d89b411461065f578063a457c2d7146106ef578063a6a6860614610762578063a9059cbb146107b1578063c13982ee14610824578063c5ac0ded14610853578063dd62ed3e1461087e575b600080fd5b34801561011257600080fd5b5061011b610903565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015b578082015181840152602081019050610140565b50505050905090810190601f1680156101885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a257600080fd5b506101ef600480360360408110156101b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109a5565b604051808215151515815260200191505060405180910390f35b34801561021557600080fd5b5061021e610ad2565b6040518082815260200191505060405180910390f35b34801561024057600080fd5b506102ad6004803603606081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610adc565b604051808215151515815260200191505060405180910390f35b3480156102d357600080fd5b506102dc610f43565b6040518082815260200191505060405180910390f35b3480156102fe57600080fd5b5061032b6004803603602081101561031557600080fd5b8101908080359060200190929190505050610f4d565b6040518082815260200191505060405180910390f35b34801561034d57600080fd5b5061039a6004803603604081101561036457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f9e565b604051808215151515815260200191505060405180910390f35b3480156103c057600080fd5b506103ed600480360360208110156103d757600080fd5b81019080803590602001909291905050506111d5565b005b3480156103fb57600080fd5b506104046111e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045257600080fd5b506104956004803603602081101561046957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061120c565b6040518082815260200191505060405180910390f35b3480156104b757600080fd5b50610504600480360360408110156104ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611255565b005b34801561051257600080fd5b5061065d6004803603604081101561052957600080fd5b810190808035906020019064010000000081111561054657600080fd5b82018360208201111561055857600080fd5b8035906020019184602083028401116401000000008311171561057a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105da57600080fd5b8201836020820111156105ec57600080fd5b8035906020019184602083028401116401000000008311171561060e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506113fd565b005b34801561066b57600080fd5b50610674611457565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106b4578082015181840152602081019050610699565b50505050905090810190601f1680156106e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106fb57600080fd5b506107486004803603604081101561071257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114f9565b604051808215151515815260200191505060405180910390f35b34801561076e57600080fd5b5061079b6004803603602081101561078557600080fd5b8101908080359060200190929190505050611730565b6040518082815260200191505060405180910390f35b3480156107bd57600080fd5b5061080a600480360360408110156107d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611781565b604051808215151515815260200191505060405180910390f35b34801561083057600080fd5b50610839612513565b604051808215151515815260200191505060405180910390f35b34801561085f57600080fd5b5061086861252a565b6040518082815260200191505060405180910390f35b34801561088a57600080fd5b506108ed600480360360408110156108a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612530565b6040518082815260200191505060405180910390f35b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561099b5780601f106109705761010080835404028352916020019161099b565b820191906000526020600020905b81548152906001019060200180831161097e57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156109e257600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b2c57600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bb757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bf357600080fd5b610c4582600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610c9383611730565b90506000610caa82856125b790919063ffffffff16565b9050610cfe81600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d56826005546125b790919063ffffffff16565b600581905550610deb84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001925050509392505050565b6000600254905090565b600080610f65600654846125ee90919063ffffffff16565b90506000610f92611388610f846006548561262990919063ffffffff16565b61266490919063ffffffff16565b90508092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610fdb57600080fd5b61106a82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6111df338261267f565b50565b6000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111515156112e057600080fd5b61136f81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113f9828261267f565b5050565b60008090505b825181101561145257611444838281518110151561141d57fe5b90602001906020020151838381518110151561143557fe5b90602001906020020151611781565b508080600101915050611403565b505050565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114ef5780601f106114c4576101008083540402835291602001916114ef565b820191906000526020600020905b8154815290600101906020018083116114d257829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561153657600080fd5b6115c582600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600080611748600654846125ee90919063ffffffff16565b905060006117756127106117676006548561262990919063ffffffff16565b61266490919063ffffffff16565b90508092505050919050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156117d157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561180d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561184857600080fd5b6969e10de76676d0800000600554108015611876575060001515600760009054906101000a900460ff161515145b15611e6257678ac7230489e80000821015611b65576118dd82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061197282600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a1957600554600581905550611a3f565b611a2e826005546125d090919063ffffffff16565b600581905550611a3e33836127f7565b5b3373ffffffffffffffffffffffffffffffffffffffff16600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611aa357600554600581905550611afb565b611ac0670de0b6b3a76400006005546125d090919063ffffffff16565b600581905550611afa600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a76400006127f7565b5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611e5d565b678ac7230489e8000082101515611e5c57611bc882600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c5d82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d0457600554600581905550611d3a565b611d21678ac7230489e800006005546125d090919063ffffffff16565b600581905550611d3933678ac7230489e800006127f7565b5b3373ffffffffffffffffffffffffffffffffffffffff16600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d9e57600554600581905550611df6565b611dbb671bc16d674ec800006005546125d090919063ffffffff16565b600581905550611df5600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16671bc16d674ec800006127f7565b5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b611e94565b6969e10de76676d0800000600554101515611e93576001600760006101000a81548160ff0219169083151502179055505b5b60011515600760009054906101000a900460ff1615151415612509576934f086f3b33b6840000060055411156120fb576000611ecf83610f4d565b90506000611ee682856125b790919063ffffffff16565b9050611f3a84600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fcf81600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612027826005546125b790919063ffffffff16565b6005819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505b6934f086f3b33b68400000600554111580156121235750690a968163f0a57b40000060055410155b1561236357600061213383611730565b9050600061214a82856125b790919063ffffffff16565b905061219e84600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061223381600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228b826005546125b790919063ffffffff16565b6005819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050612508565b690a968163f0a57b4000006005541015612507576123c982600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061245e82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b5b6001905092915050565b6000600760009054906101000a900460ff16905090565b60065481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008282111515156125c557fe5b818303905092915050565b60008082840190508381101515156125e457fe5b8091505092915050565b6000806125fb84846125d0565b9050600061260a8260016125b7565b905061261f6126198286612664565b85612629565b9250505092915050565b60008083141561263c576000905061265e565b6000828402905082848281151561264f57fe5b0414151561265957fe5b809150505b92915050565b600080828481151561267257fe5b0490508091505092915050565b6000811415151561268f57600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111515156126dd57600080fd5b6126f2816005546125b790919063ffffffff16565b60058190555061274a81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000811415151561280757600080fd5b61285981600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fea165627a7a72305820d7341ac1a0aa7c0ae6181d067f8118a2e82bed50e2936f7b5e62f3888d8889b30029

Deployed Bytecode

0x608060405260043610610101576000357c01000000000000000000000000000000000000000000000000000000009004806306fdde0314610106578063095ea7b31461019657806318160ddd1461020957806323b872dd14610234578063313ce567146102c757806335aec024146102f2578063395093511461034157806342966c68146103b457806355a373d6146103ef57806370a082311461044657806379cc6790146104ab57806388d695b21461050657806395d89b411461065f578063a457c2d7146106ef578063a6a6860614610762578063a9059cbb146107b1578063c13982ee14610824578063c5ac0ded14610853578063dd62ed3e1461087e575b600080fd5b34801561011257600080fd5b5061011b610903565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015b578082015181840152602081019050610140565b50505050905090810190601f1680156101885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a257600080fd5b506101ef600480360360408110156101b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109a5565b604051808215151515815260200191505060405180910390f35b34801561021557600080fd5b5061021e610ad2565b6040518082815260200191505060405180910390f35b34801561024057600080fd5b506102ad6004803603606081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610adc565b604051808215151515815260200191505060405180910390f35b3480156102d357600080fd5b506102dc610f43565b6040518082815260200191505060405180910390f35b3480156102fe57600080fd5b5061032b6004803603602081101561031557600080fd5b8101908080359060200190929190505050610f4d565b6040518082815260200191505060405180910390f35b34801561034d57600080fd5b5061039a6004803603604081101561036457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f9e565b604051808215151515815260200191505060405180910390f35b3480156103c057600080fd5b506103ed600480360360208110156103d757600080fd5b81019080803590602001909291905050506111d5565b005b3480156103fb57600080fd5b506104046111e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045257600080fd5b506104956004803603602081101561046957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061120c565b6040518082815260200191505060405180910390f35b3480156104b757600080fd5b50610504600480360360408110156104ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611255565b005b34801561051257600080fd5b5061065d6004803603604081101561052957600080fd5b810190808035906020019064010000000081111561054657600080fd5b82018360208201111561055857600080fd5b8035906020019184602083028401116401000000008311171561057a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105da57600080fd5b8201836020820111156105ec57600080fd5b8035906020019184602083028401116401000000008311171561060e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506113fd565b005b34801561066b57600080fd5b50610674611457565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106b4578082015181840152602081019050610699565b50505050905090810190601f1680156106e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106fb57600080fd5b506107486004803603604081101561071257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114f9565b604051808215151515815260200191505060405180910390f35b34801561076e57600080fd5b5061079b6004803603602081101561078557600080fd5b8101908080359060200190929190505050611730565b6040518082815260200191505060405180910390f35b3480156107bd57600080fd5b5061080a600480360360408110156107d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611781565b604051808215151515815260200191505060405180910390f35b34801561083057600080fd5b50610839612513565b604051808215151515815260200191505060405180910390f35b34801561085f57600080fd5b5061086861252a565b6040518082815260200191505060405180910390f35b34801561088a57600080fd5b506108ed600480360360408110156108a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612530565b6040518082815260200191505060405180910390f35b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561099b5780601f106109705761010080835404028352916020019161099b565b820191906000526020600020905b81548152906001019060200180831161097e57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156109e257600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b2c57600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bb757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bf357600080fd5b610c4582600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610c9383611730565b90506000610caa82856125b790919063ffffffff16565b9050610cfe81600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d56826005546125b790919063ffffffff16565b600581905550610deb84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001925050509392505050565b6000600254905090565b600080610f65600654846125ee90919063ffffffff16565b90506000610f92611388610f846006548561262990919063ffffffff16565b61266490919063ffffffff16565b90508092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610fdb57600080fd5b61106a82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6111df338261267f565b50565b6000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111515156112e057600080fd5b61136f81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113f9828261267f565b5050565b60008090505b825181101561145257611444838281518110151561141d57fe5b90602001906020020151838381518110151561143557fe5b90602001906020020151611781565b508080600101915050611403565b505050565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114ef5780601f106114c4576101008083540402835291602001916114ef565b820191906000526020600020905b8154815290600101906020018083116114d257829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561153657600080fd5b6115c582600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600080611748600654846125ee90919063ffffffff16565b905060006117756127106117676006548561262990919063ffffffff16565b61266490919063ffffffff16565b90508092505050919050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156117d157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561180d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561184857600080fd5b6969e10de76676d0800000600554108015611876575060001515600760009054906101000a900460ff161515145b15611e6257678ac7230489e80000821015611b65576118dd82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061197282600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a1957600554600581905550611a3f565b611a2e826005546125d090919063ffffffff16565b600581905550611a3e33836127f7565b5b3373ffffffffffffffffffffffffffffffffffffffff16600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611aa357600554600581905550611afb565b611ac0670de0b6b3a76400006005546125d090919063ffffffff16565b600581905550611afa600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a76400006127f7565b5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611e5d565b678ac7230489e8000082101515611e5c57611bc882600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c5d82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d0457600554600581905550611d3a565b611d21678ac7230489e800006005546125d090919063ffffffff16565b600581905550611d3933678ac7230489e800006127f7565b5b3373ffffffffffffffffffffffffffffffffffffffff16600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d9e57600554600581905550611df6565b611dbb671bc16d674ec800006005546125d090919063ffffffff16565b600581905550611df5600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16671bc16d674ec800006127f7565b5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b611e94565b6969e10de76676d0800000600554101515611e93576001600760006101000a81548160ff0219169083151502179055505b5b60011515600760009054906101000a900460ff1615151415612509576934f086f3b33b6840000060055411156120fb576000611ecf83610f4d565b90506000611ee682856125b790919063ffffffff16565b9050611f3a84600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fcf81600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612027826005546125b790919063ffffffff16565b6005819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505b6934f086f3b33b68400000600554111580156121235750690a968163f0a57b40000060055410155b1561236357600061213383611730565b9050600061214a82856125b790919063ffffffff16565b905061219e84600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061223381600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228b826005546125b790919063ffffffff16565b6005819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050612508565b690a968163f0a57b4000006005541015612507576123c982600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061245e82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b5b6001905092915050565b6000600760009054906101000a900460ff16905090565b60065481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008282111515156125c557fe5b818303905092915050565b60008082840190508381101515156125e457fe5b8091505092915050565b6000806125fb84846125d0565b9050600061260a8260016125b7565b905061261f6126198286612664565b85612629565b9250505092915050565b60008083141561263c576000905061265e565b6000828402905082848281151561264f57fe5b0414151561265957fe5b809150505b92915050565b600080828481151561267257fe5b0490508091505092915050565b6000811415151561268f57600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111515156126dd57600080fd5b6126f2816005546125b790919063ffffffff16565b60058190555061274a81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b790919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000811415151561280757600080fd5b61285981600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d090919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fea165627a7a72305820d7341ac1a0aa7c0ae6181d067f8118a2e82bed50e2936f7b5e62f3888d8889b30029

Deployed Bytecode Sourcemap

3729:8588:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3476:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3476:76:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3476:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9949:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9949:224:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9949:224:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4612:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4612:85:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10179:686;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10179:686:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10179:686:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3644:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3644:78:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5358:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5358:216:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5358:216:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10871:305;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10871:305:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10871:305:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11706:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11706:77:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11706:77:0;;;;;;;;;;;;;;;;;:::i;:::-;;4705:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4705:98:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4809:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4809:100:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4809:100:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12082:230;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12082:230:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12082:230:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9749:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9749:194:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9749:194:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;9749:194:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9749:194:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;9749:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9749:194:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;9749:194:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9749:194:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;9749:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9749:194:0;;;;;;;;;;;;;;;:::i;:::-;;3558:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3558:80:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3558:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11182:315;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11182:315:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11182:315:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5133:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5133:217:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5133:217:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5580:4163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5580:4163:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5580:4163:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4919:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4919:77:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4337:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4337:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5002:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5002:125:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5002:125:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3476:76;3512:13;3541:5;3534:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3476:76;:::o;9949:224::-;10014:4;10054:1;10035:21;;:7;:21;;;;10027:30;;;;;;;;10096:5;10064:8;:20;10073:10;10064:20;;;;;;;;;;;;;;;:29;10085:7;10064:29;;;;;;;;;;;;;;;:37;;;;10134:7;10113:36;;10122:10;10113:36;;;10143:5;10113:36;;;;;;;;;;;;;;;;;;10163:4;10156:11;;9949:224;;;;:::o;4612:85::-;4656:7;4679:12;;4672:19;;4612:85;:::o;10179:686::-;10258:4;10288:9;:15;10298:4;10288:15;;;;;;;;;;;;;;;;10279:5;:24;;10271:33;;;;;;;;10328:8;:14;10337:4;10328:14;;;;;;;;;;;;;;;:26;10343:10;10328:26;;;;;;;;;;;;;;;;10319:5;:35;;10311:44;;;;;;;;10384:1;10370:16;;:2;:16;;;;10362:25;;;;;;;;10414:26;10434:5;10414:9;:15;10424:4;10414:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;10396:9;:15;10406:4;10396:15;;;;;;;;;;;;;;;:44;;;;10449:20;10472:21;10487:5;10472:14;:21::i;:::-;10449:44;;10500:24;10527:23;10537:12;10527:5;:9;;:23;;;;:::i;:::-;10500:50;;10575:35;10593:16;10575:9;:13;10585:2;10575:13;;;;;;;;;;;;;;;;:17;;:35;;;;:::i;:::-;10559:9;:13;10569:2;10559:13;;;;;;;;;;;;;;;:51;;;;10632:30;10649:12;10632;;:16;;:30;;;;:::i;:::-;10617:12;:45;;;;10700:37;10731:5;10700:8;:14;10709:4;10700:14;;;;;;;;;;;;;;;:26;10715:10;10700:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;10671:8;:14;10680:4;10671:14;;;;;;;;;;;;;;;:26;10686:10;10671:26;;;;;;;;;;;;;;;:66;;;;10766:2;10751:36;;10760:4;10751:36;;;10770:16;10751:36;;;;;;;;;;;;;;;;;;10822:1;10799:40;;10808:4;10799:40;;;10826:12;10799:40;;;;;;;;;;;;;;;;;;10855:4;10848:11;;;;10179:686;;;;;:::o;3644:78::-;3684:7;3707:9;;3700:16;;3644:78;:::o;5358:216::-;5418:7;5435:18;5456:23;5467:11;;5456:5;:10;;:23;;;;:::i;:::-;5435:44;;5486:18;5507:37;5539:4;5507:27;5522:11;;5507:10;:14;;:27;;;;:::i;:::-;:31;;:37;;;;:::i;:::-;5486:58;;5558:10;5551:17;;;;5358:216;;;:::o;10871:305::-;10951:4;10991:1;10972:21;;:7;:21;;;;10964:30;;;;;;;;11034:45;11068:10;11034:8;:20;11043:10;11034:20;;;;;;;;;;;;;;;:29;11055:7;11034:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;11001:8;:20;11010:10;11001:20;;;;;;;;;;;;;;;:29;11022:7;11001:29;;;;;;;;;;;;;;;:79;;;;11113:7;11092:60;;11101:10;11092:60;;;11122:8;:20;11131:10;11122:20;;;;;;;;;;;;;;;:29;11143:7;11122:29;;;;;;;;;;;;;;;;11092:60;;;;;;;;;;;;;;;;;;11166:4;11159:11;;10871:305;;;;:::o;11706:77::-;11752:25;11758:10;11770:6;11752:5;:25::i;:::-;11706:77;:::o;4705:98::-;4751:7;4774:23;;;;;;;;;;;4767:30;;4705:98;:::o;4809:100::-;4864:7;4887:9;:16;4897:5;4887:16;;;;;;;;;;;;;;;;4880:23;;4809:100;;;:::o;12082:230::-;12167:8;:17;12176:7;12167:17;;;;;;;;;;;;;;;:29;12185:10;12167:29;;;;;;;;;;;;;;;;12157:6;:39;;12149:48;;;;;;;;12236:41;12270:6;12236:8;:17;12245:7;12236:17;;;;;;;;;;;;;;;:29;12254:10;12236:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;12204:8;:17;12213:7;12204:17;;;;;;;;;;;;;;;:29;12222:10;12204:29;;;;;;;;;;;;;;;:73;;;;12284:22;12290:7;12299:6;12284:5;:22::i;:::-;12082:230;;:::o;9749:194::-;9845:9;9857:1;9845:13;;9840:98;9864:9;:16;9860:1;:20;9840:98;;;9896:34;9905:9;9915:1;9905:12;;;;;;;;;;;;;;;;;;9919:7;9927:1;9919:10;;;;;;;;;;;;;;;;;;9896:8;:34::i;:::-;;9882:3;;;;;;;9840:98;;;;9749:194;;:::o;3558:80::-;3596:13;3625:7;3618:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:80;:::o;11182:315::-;11267:4;11307:1;11288:21;;:7;:21;;;;11280:30;;;;;;;;11350:50;11384:15;11350:8;:20;11359:10;11350:20;;;;;;;;;;;;;;;:29;11371:7;11350:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;11317:8;:20;11326:10;11317:20;;;;;;;;;;;;;;;:29;11338:7;11317:29;;;;;;;;;;;;;;;:84;;;;11434:7;11413:60;;11422:10;11413:60;;;11443:8;:20;11452:10;11443:20;;;;;;;;;;;;;;;:29;11464:7;11443:29;;;;;;;;;;;;;;;;11413:60;;;;;;;;;;;;;;;;;;11487:4;11480:11;;11182:315;;;;:::o;5133:217::-;5193:7;5210:18;5231:23;5242:11;;5231:5;:10;;:23;;;;:::i;:::-;5210:44;;5261:18;5282:38;5314:5;5282:27;5297:11;;5282:10;:14;;:27;;;;:::i;:::-;:31;;:38;;;;:::i;:::-;5261:59;;5334:10;5327:17;;;;5133:217;;;:::o;5580:4163::-;5641:4;5671:9;:21;5681:10;5671:21;;;;;;;;;;;;;;;;5662:5;:30;;5654:39;;;;;;;;5722:1;5708:16;;:2;:16;;;;5700:25;;;;;;;;5754:10;5740:25;;:2;:25;;;;5732:34;;;;;;;;4149:24;5779:12;;:21;:44;;;;;5818:5;5804:19;;:10;;;;;;;;;;;:19;;;5779:44;5775:2371;;;5851:20;5843:5;:28;5839:2216;;;5917:32;5943:5;5917:9;:21;5927:10;5917:21;;;;;;;;;;;;;;;;:25;;:32;;;;:::i;:::-;5893:9;:21;5903:10;5893:21;;;;;;;;;;;;;;;:56;;;;5985:24;6003:5;5985:9;:13;5995:2;5985:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;5969:9;:13;5979:2;5969:13;;;;;;;;;;;;;;;:40;;;;6153:10;6126:37;;:23;;;;;;;;;;;:37;;;6122:272;;;6199:12;;6184;:27;;;;6122:272;;;6306:23;6323:5;6306:12;;:16;;:23;;;;:::i;:::-;6291:12;:38;;;;6348:24;6354:10;6366:5;6348;:24::i;:::-;6122:272;6521:10;6494:37;;:23;;;;;;;;;;;:37;;;6490:314;;;6567:12;;6552;:27;;;;6490:314;;;6675:37;6692:19;6675:12;;:16;;:37;;;;:::i;:::-;6660:12;:52;;;;6732:51;6738:23;;;;;;;;;;;6763:19;6732:5;:51::i;:::-;6490:314;6866:2;6845:31;;6854:10;6845:31;;;6870:5;6845:31;;;;;;;;;;;;;;;;;;5839:2216;;;6944:20;6935:5;:29;;6931:1124;;;7010:32;7036:5;7010:9;:21;7020:10;7010:21;;;;;;;;;;;;;;;;:25;;:32;;;;:::i;:::-;6986:9;:21;6996:10;6986:21;;;;;;;;;;;;;;;:56;;;;7078:24;7096:5;7078:9;:13;7088:2;7078:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;7062:9;:13;7072:2;7062:13;;;;;;;;;;;;;;;:40;;;;7264:10;7237:37;;:23;;;;;;;;;;;:37;;;7233:302;;;7310:12;;7295;:27;;;;7233:302;;;7417:38;7434:20;7417:12;;:16;;:38;;;;:::i;:::-;7402:12;:53;;;;7474:39;7480:10;7492:20;7474:5;:39::i;:::-;7233:302;7662:10;7635:37;;:23;;;;;;;;;;;:37;;;7631:314;;;7708:12;;7693;:27;;;;7631:314;;;7816:37;7833:19;7816:12;;:16;;:37;;;;:::i;:::-;7801:12;:52;;;;7873:51;7879:23;;;;;;;;;;;7904:19;7873:5;:51::i;:::-;7631:314;8007:2;7986:31;;7995:10;7986:31;;;8011:5;7986:31;;;;;;;;;;;;;;;;;;6931:1124;5839:2216;5775:2371;;;4149:24;8085:12;;:22;;8081:65;;;8134:4;8121:10;;:17;;;;;;;;;;;;;;;;;;8081:65;5775:2371;8176:4;8162:18;;:10;;;;;;;;;;;:18;;;8158:1552;;;4221:24;8233:12;;:22;8229:556;;;8300:20;8323:21;8338:5;8323:14;:21::i;:::-;8300:44;;8359:24;8386:23;8396:12;8386:5;:9;;:23;;;;:::i;:::-;8359:50;;8458:32;8484:5;8458:9;:21;8468:10;8458:21;;;;;;;;;;;;;;;;:25;;:32;;;;:::i;:::-;8434:9;:21;8444:10;8434:21;;;;;;;;;;;;;;;:56;;;;8521:35;8539:16;8521:9;:13;8531:2;8521:13;;;;;;;;;;;;;;;;:17;;:35;;;;:::i;:::-;8505:9;:13;8515:2;8505:13;;;;;;;;;;;;;;;:51;;;;8596:30;8613:12;8596;;:16;;:30;;;;:::i;:::-;8581:12;:45;;;;8677:2;8656:42;;8665:10;8656:42;;;8681:16;8656:42;;;;;;;;;;;;;;;;;;8747:1;8718:46;;8727:10;8718:46;;;8751:12;8718:46;;;;;;;;;;;;;;;;;;8229:556;;;4221:24;8839:12;;:23;;:49;;;;;4291:23;8866:12;;:22;;8839:49;8835:866;;;8923:20;8946:21;8961:5;8946:14;:21::i;:::-;8923:44;;8982:24;9009:23;9019:12;9009:5;:9;;:23;;;;:::i;:::-;8982:50;;9081:32;9107:5;9081:9;:21;9091:10;9081:21;;;;;;;;;;;;;;;;:25;;:32;;;;:::i;:::-;9057:9;:21;9067:10;9057:21;;;;;;;;;;;;;;;:56;;;;9144:35;9162:16;9144:9;:13;9154:2;9144:13;;;;;;;;;;;;;;;;:17;;:35;;;;:::i;:::-;9128:9;:13;9138:2;9128:13;;;;;;;;;;;;;;;:51;;;;9219:30;9236:12;9219;;:16;;:30;;;;:::i;:::-;9204:12;:45;;;;9300:2;9279:42;;9288:10;9279:42;;;9304:16;9279:42;;;;;;;;;;;;;;;;;;9370:1;9341:46;;9350:10;9341:46;;;9374:12;9341:46;;;;;;;;;;;;;;;;;;8835:866;;;;;4291:23;9475:12;;:21;9471:230;;;9549:32;9575:5;9549:9;:21;9559:10;9549:21;;;;;;;;;;;;;;;;:25;;:32;;;;:::i;:::-;9525:9;:21;9535:10;9525:21;;;;;;;;;;;;;;;:56;;;;9608:24;9626:5;9608:9;:13;9618:2;9608:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;9592:9;:13;9602:2;9592:13;;;;;;;;;;;;;;;:40;;;;9675:2;9654:31;;9663:10;9654:31;;;9679:5;9654:31;;;;;;;;;;;;;;;;;;9471:230;8835:866;8158:1552;9733:4;9726:11;;5580:4163;;;;:::o;4919:77::-;4960:4;4980:10;;;;;;;;;;;4973:17;;4919:77;:::o;4337:32::-;;;;:::o;5002:125::-;5074:7;5097:8;:15;5106:5;5097:15;;;;;;;;;;;;;;;:24;5113:7;5097:24;;;;;;;;;;;;;;;;5090:31;;5002:125;;;;:::o;2770:113::-;2828:7;2856:1;2851;:6;;2844:14;;;;;;2876:1;2872;:5;2865:12;;2770:113;;;;:::o;2889:133::-;2947:7;2963:9;2979:1;2975;:5;2963:17;;2999:1;2994;:6;;2987:14;;;;;;3015:1;3008:8;;;2889:133;;;;:::o;3028:157::-;3087:7;3103:9;3115:8;3119:1;3121;3115:3;:8::i;:::-;3103:20;;3130:9;3142:8;3146:1;3148;3142:3;:8::i;:::-;3130:20;;3164:15;3168:8;3172:1;3174;3168:3;:8::i;:::-;3177:1;3164:3;:15::i;:::-;3157:22;;;;3028:157;;;;:::o;2466:180::-;2524:7;2549:1;2544;:6;2540:37;;;2568:1;2561:8;;;;2540:37;2583:9;2599:1;2595;:5;2583:17;;2623:1;2618;2614;:5;;;;;;;;:10;2607:18;;;;;;2639:1;2632:8;;;2466:180;;;;;:::o;2652:112::-;2710:7;2726:9;2742:1;2738;:5;;;;;;;;2726:17;;2757:1;2750:8;;;2652:112;;;;:::o;11789:287::-;11871:1;11861:6;:11;;11853:20;;;;;;;;11898:9;:18;11908:7;11898:18;;;;;;;;;;;;;;;;11888:6;:28;;11880:37;;;;;;;;11939:24;11956:6;11939:12;;:16;;:24;;;;:::i;:::-;11924:12;:39;;;;11991:30;12014:6;11991:9;:18;12001:7;11991:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;11970:9;:18;11980:7;11970:18;;;;;;;;;;;;;;;:51;;;;12059:1;12033:37;;12042:7;12033:37;;;12063:6;12033:37;;;;;;;;;;;;;;;;;;11789:287;;:::o;11503:197::-;11585:1;11575:6;:11;;11567:20;;;;;;;;11615:30;11638:6;11615:9;:18;11625:7;11615:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;11594:9;:18;11604:7;11594:18;;;;;;;;;;;;;;;:51;;;;11678:7;11657:37;;11674:1;11657:37;;;11687:6;11657:37;;;;;;;;;;;;;;;;;;11503:197;;:::o

Swarm Source

bzzr://d7341ac1a0aa7c0ae6181d067f8118a2e82bed50e2936f7b5e62f3888d8889b3
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.