ETH Price: $2,618.92 (+1.30%)
Gas: 1 Gwei

Token

TRISKAIDEKAPHOBIA (TRIS)
 

Overview

Max Total Supply

925,563.286584631883784281 TRIS

Holders

395

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
reshou.eth
Balance
895.353087828438448774 TRIS

Value
$0.00
0x84374380249f25706b357ceb7ce54815b521f064
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:
triskaidekaphobia

Compiler Version
v0.5.1+commit.c8a2cb62

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

pragma solidity ^0.5.1;

contract ERC20Interface {
  function totalSupply() public view returns (uint);
  function balanceOf(address tokenOwner) public view returns (uint balance);
  function allowance(address tokenOwner, address spender) public view returns (uint remaining);
  function transfer(address to, uint tokens) public returns (bool success);
  function approve(address spender, uint tokens) public returns (bool success);
  function transferFrom(address from, address to, uint tokens) public returns (bool success);
  event Transfer(address indexed from, address indexed to, uint tokens);
  event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

library SafeMath {
  function add(uint a, uint b) internal pure returns (uint) {
    uint c = a + b;
    require(c >= a);
    return c;
  }

  function sub(uint a, uint b) internal pure returns (uint) {
    require(b <= a);
    uint c = a - b;
    return c;
  }

  function mul(uint a, uint b) internal pure returns (uint) {
    uint c = a * b;
    require(a == 0 || c / a == b);
    return c;
  }

  function div(uint a, uint b) internal pure returns (uint) {
    require(b > 0);
    uint c = a / b;
    return c;
  }
}

library Math {
    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }

    function average(uint256 a, uint256 b) internal pure returns (uint256) {
        // (a + b) / 2 can overflow, so we distribute
        return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
    }
}

contract triskaidekaphobia is ERC20Interface {

  using SafeMath for uint;
  using Math for uint;
  uint8 public constant decimals = 18;
  uint8 public constant maxRank = 15;
  string public constant symbol = " TRIS";
  string public constant name = "TRISKAIDEKAPHOBIA";
  uint public constant maxSupply = 1000000 * 10**uint(decimals);
  uint private _totalSupply = 0;
  uint private _minted = 0;
  uint private _nextAirdrop = 10000 * 10**uint(decimals);
  address rankHead = address(0);
  address devAddress = address(0x3409E6883b3CB6DDc9aEA58f24593F7218B830c7);

  mapping (address => uint) private _balances;
  mapping (address => mapping (address => uint)) private _allowances;
  mapping (address => bool) private _airdropped; //keep database of accounts already claimed airdrop
  mapping(address => bool) ranked;
  mapping(address => address) rankList;

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

  function balanceOf(address account) public view returns (uint balance) {
    return _balances[account];
  }

  function allowance(address owner, address spender) public view returns (uint remaining) {
    return _allowances[owner][spender];
  }

  function transfer(address to, uint amount) public returns (bool success) {
    _transfer(msg.sender, to, amount);
    return true;
  }

  function approve(address spender, uint amount) public returns (bool success) {
    _approve(msg.sender, spender, amount);
    return true;
  }

  function transferFrom(address sender, address recipient, uint amount) public returns (bool success) {
    _transfer(sender, recipient, amount);
    _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
    return true;
  }

  //internal functions
  function _approve(address owner, address spender, uint amount) internal {
    require(owner != address(0), "ERC20: approve from the zero address");
    require(spender != address(0), "ERC20: approve to the zero address");

    _allowances[owner][spender] = amount;
    emit Approval(owner, spender, amount);
  }

  function _transfer(address sender, address recipient, uint amount) internal {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");

    // If transfer amount is zero emit event and stop execution
    if (amount == 0) {
      emit Transfer(sender, recipient, 0);
      return;
    }

    _balances[sender] = _balances[sender].sub(amount);
    _balances[recipient] = _balances[recipient].add(amount);
    emit Transfer(sender, recipient, amount);

    //takeout sender & recipient from the linkedlist and re-insert them in the correct order
    _pop(sender);
    _pop(recipient);
    _insert(sender);
    _insert(recipient);
    _slash();
  }

  function _slash() internal {
    if(_minted >= 400000 * 10**uint(decimals)){
    address rankThirteen = _getRankThirteen();
    address rankFourteen = rankList[rankThirteen];
    if( (rankThirteen != address(0)) && (balanceOf(rankThirteen) > 0) ) {
      uint alterBalance = balanceOf(rankThirteen).div(3);
      if(rankFourteen != address(0)){
        _burn(rankThirteen,alterBalance);
        _balances[rankThirteen] = _balances[rankThirteen].sub(alterBalance);
        _balances[rankFourteen] = _balances[rankFourteen].add(alterBalance);
        emit Transfer(rankThirteen, rankFourteen, alterBalance);
        _pop(rankThirteen);
        _pop(rankFourteen);
        _insert(rankThirteen);
        _insert(rankFourteen);
      }
      else {
        _burn(rankThirteen,2*alterBalance);
        _pop(rankThirteen);
        _insert(rankThirteen);
      }
    }
    }
  }

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

  function _mint(address account, uint amount) internal {
    _totalSupply = _totalSupply.add(amount);
    _minted = _minted.add(amount);
    _airdropped[account] = true;
    uint devReward = (amount.mul(5)).div(100);
    uint accountMint = amount.sub(devReward);
    _balances[devAddress] = _balances[devAddress].add(devReward);
    _balances[account] = _balances[account].add(accountMint);
    emit Transfer(address(0), account, accountMint);
    emit Transfer(address(0), devAddress, devReward);
  }

  function _airdrop(address account) internal {
    require(account != address(0));
    require(_minted < maxSupply); // check on total suppy
    require(_airdropped[account] != true); //airdrop can be claimed only once per account
    require(_nextAirdrop > 0); //additional check if airdrop is still on

    _mint(account,_nextAirdrop);
    _nextAirdrop = Math.min((_nextAirdrop.mul(99)).div(100),(maxSupply - _minted));
    _insert(account);
  }

  function () external payable {
    if(msg.value > 0){
      revert();
    }
    else {
      _airdrop(msg.sender);
    }
  }

  function _insert(address addr) internal { // function to add a new element to the linkedlist
    require(addr != address(0));
    if(ranked[addr] != true){ //attempt to add the element in the list only if it doesn't already exist in it
      if(rankHead == address(0)){ // linkedlist getting created for the first time
        rankHead = addr; //add address as the first in the linkedlist
        rankList[addr] = address(0); //address(0) will always mark as the end of the linkedlist
        ranked[addr] = true;
        return;
      }
      else if(_balances[addr] > _balances[rankHead]){ //new element has the largest value and needs to be at the top of the list
        rankList[addr] = rankHead; //add the existing list at the end of the new element
        rankHead = addr; //rankHead points to new element
        ranked[addr] = true;
        return;
      }
      else { //see if new element belongs to anywhere else on the list
        address tracker = rankHead; //start at the beginning of the list
        for(uint8 i = 1; i<=maxRank; i++){ //loop till maximum allowable length of the list
          //if balance of new element is greater than balance of next element in the list or next element is the end of the list
          if(_balances[addr] > _balances[rankList[tracker]] || rankList[tracker] == address(0)){
            rankList[addr] = rankList[tracker]; //attack existing remainder of list at the back of new element
            rankList[tracker] = addr; //inset new element to the list after the tracker position
            ranked[addr] = true;
            return;
          }
          tracker = rankList[tracker];
        }
      }
    }
  }

  function _pop(address addr) internal { // function to take out an element from the linkedlist because it's holding has changed
    if(ranked[addr] == true) { // function only runs if address is in the linkedlis tracking top 25 holders
      address tracker = rankHead; //start at the beginning of the list
      if(tracker == addr){ // if the first element needs to be popped
        rankHead = rankList[tracker]; //point rankHead to the second element in the list
        ranked[addr] = false; // flagging top element as not on the list anymore
        return;
      }
      else{
        //if not the first element then loop to check successive elements
        while (rankList[tracker] != address(0)){ //loop till the last valid element in the list
          if(rankList[tracker] == addr){ //if the next element in the list is the searched address
            rankList[tracker] = rankList[addr]; //link current element to next of next element
            ranked[addr] = false; //flag next element as not on the list
            return;
          }
          tracker = rankList[tracker]; //move tracker to next element on the list
        }
        ranked[addr] = false;//essentially error mitigation, list doesn't have address and yet address has been flagged as in the list
        return;
      }
    }
  }

  function getRank() public view returns(uint) { //function to get rank of an address in the top holders' list
    if(ranked[msg.sender] == true){ //function to check if address has been flagged as among the top holders' list
      address tracker = rankHead;
      for(uint8 i = 1; i <= maxRank; i++ ){ //rank starts at 1 and not 0 | 0 rank means not present in the list
        if(msg.sender == tracker){
          return uint(i);
        }
        tracker = rankList[tracker];
      }
    }
    return 0; // else rank = 0, means address not on the list
  }

  function _getRankThirteen() internal returns(address) {
    address tracker = rankHead;
    for(uint i = 1; i < 13; i++ ){
      if(tracker == address(0)){ // linkedlist ended before rank 13 was reached
        return address(0); //return address(0) as an indication that rank 13 doesn't exist
      }
      tracker = rankList[tracker];
    }
    return tracker; //for loop ending is an indication that tracker is on 13th element without any unexpected return from for loop
  }

  function burned() public view returns(uint) {
    return _minted-_totalSupply;
  }
}

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":"amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","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":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxRank","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burned","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRank","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxSupply","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":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

6080604052600080805560015569021e19e0c9bab240000060025560038054600160a060020a031990811690915560048054909116733409e6883b3cb6ddc9aea58f24593f7218b830c717905534801561005857600080fd5b506111d6806100686000396000f3fe6080604052600436106100be577c0100000000000000000000000000000000000000000000000000000000600035046306fdde0381146100d7578063095ea7b31461016157806318160ddd146101ae57806323b872dd146101d5578063313ce56714610218578063477e292d1461024357806370a082311461025857806373f425611461028b57806395d89b41146102a0578063a9059cbb146102b5578063d303e7b2146102ee578063d5abeb0114610303578063dd62ed3e14610318575b60003411156100cc57600080fd5b6100d533610353565b005b3480156100e357600080fd5b506100ec610413565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012657818101518382015260200161010e565b50505050905090810190601f1680156101535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016d57600080fd5b5061019a6004803603604081101561018457600080fd5b50600160a060020a03813516906020013561044a565b604080519115158252519081900360200190f35b3480156101ba57600080fd5b506101c3610460565b60408051918252519081900360200190f35b3480156101e157600080fd5b5061019a600480360360608110156101f857600080fd5b50600160a060020a03813581169160208101359091169060400135610467565b34801561022457600080fd5b5061022d6104be565b6040805160ff9092168252519081900360200190f35b34801561024f57600080fd5b5061022d6104c3565b34801561026457600080fd5b506101c36004803603602081101561027b57600080fd5b5035600160a060020a03166104c8565b34801561029757600080fd5b506101c36104e3565b3480156102ac57600080fd5b506100ec6104ed565b3480156102c157600080fd5b5061019a600480360360408110156102d857600080fd5b50600160a060020a038135169060200135610524565b3480156102fa57600080fd5b506101c3610531565b34801561030f57600080fd5b506101c36105b4565b34801561032457600080fd5b506101c36004803603604081101561033b57600080fd5b50600160a060020a03813581169160200135166105c2565b600160a060020a038116151561036857600080fd5b60015469d3c21bcecceda10000001161038057600080fd5b600160a060020a03811660009081526007602052604090205460ff161515600114156103ab57600080fd5b6002546000106103ba57600080fd5b6103c6816002546105ed565b6104046103f060646103e4606360025461074b90919063ffffffff16565b9063ffffffff61077916565b60015469d3c21bcecceda10000000361079d565b600255610410816107b3565b50565b60408051808201909152601181527f545249534b414944454b4150484f424941000000000000000000000000000000602082015281565b60006104573384846109f3565b50600192915050565b6000545b90565b6000610474848484610b60565b600160a060020a0384166000908152600660209081526040808320338085529252909120546104b49186916104af908663ffffffff610d8116565b6109f3565b5060019392505050565b601281565b600f81565b600160a060020a031660009081526005602052604090205490565b6000546001540390565b60408051808201909152600581527f2054524953000000000000000000000000000000000000000000000000000000602082015281565b6000610457338484610b60565b3360009081526008602052604081205460ff161515600114156105ae57600354600160a060020a031660015b600f60ff8216116105ab5733600160a060020a03831614156105855760ff1691506104649050565b600160a060020a039182166000908152600960205260409020549091169060010161055d565b50505b50600090565b69d3c21bcecceda100000081565b600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b600054610600908263ffffffff610d9616565b600055600154610616908263ffffffff610d9616565b6001908155600160a060020a0383166000908152600760205260408120805460ff191690921790915561065560646103e484600563ffffffff61074b16565b90506000610669838363ffffffff610d8116565b600454600160a060020a0316600090815260056020526040902054909150610697908363ffffffff610d9616565b600454600160a060020a0390811660009081526005602052604080822093909355908616815220546106cf908263ffffffff610d9616565b600160a060020a038516600081815260056020908152604080832094909455835185815293519293919260008051602061118b8339815191529281900390910190a3600454604080518481529051600160a060020a039092169160009160008051602061118b833981519152919081900360200190a350505050565b6000828202831580610767575082848281151561076457fe5b04145b151561077257600080fd5b9392505050565b600080821161078757600080fd5b6000828481151561079457fe5b04949350505050565b60008183106107ac5781610772565b5090919050565b600160a060020a03811615156107c857600080fd5b600160a060020a03811660009081526008602052604090205460ff16151560011461041057600354600160a060020a0316151561085a5760038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19918216811790925560009182526009602090815260408084208054909316909255600890529020805460ff19166001179055610410565b600354600160a060020a0390811660009081526005602052604080822054928416825290205411156108ea5760038054600160a060020a03838116600081815260096020908152604080832080549590961673ffffffffffffffffffffffffffffffffffffffff19958616179095558554909316909117909355600890529020805460ff19166001179055610410565b600354600160a060020a031660015b600f60ff8216116109ee57600160a060020a03808316600090815260096020908152604080832054841683526005909152808220549286168252902054118061095a5750600160a060020a0382811660009081526009602052604090205416155b156109c85750600160a060020a039081166000908152600960209081526040808320805486861680865283862080549290971673ffffffffffffffffffffffffffffffffffffffff19928316179096558154169094179093556008905220805460ff19166001179055610410565b600160a060020a03918216600090815260096020526040902054909116906001016108f9565b505050565b600160a060020a0383161515610a78576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610afe576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03808416600081815260066020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a0383161515610be6576040805160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610c6c576040805160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b801515610cb25781600160a060020a031683600160a060020a031660008051602061118b83398151915260006040518082815260200191505060405180910390a36109ee565b600160a060020a038316600090815260056020526040902054610cdb908263ffffffff610d8116565b600160a060020a038085166000908152600560205260408082209390935590841681522054610d10908263ffffffff610d9616565b600160a060020a03808416600081815260056020908152604091829020949094558051858152905191939287169260008051602061118b83398151915292918290030190a3610d5e83610da8565b610d6782610da8565b610d70836107b3565b610d79826107b3565b6109ee610f2c565b600082821115610d9057600080fd5b50900390565b60008282018381101561077257600080fd5b600160a060020a03811660009081526008602052604090205460ff1615156001141561041057600354600160a060020a03908116908216811415610e3e57600160a060020a039081166000908152600960209081526040808320546003805473ffffffffffffffffffffffffffffffffffffffff191691861691909117905592841682526008905220805460ff19169055610410565b600160a060020a038181166000908152600960205260409020541615610f0257600160a060020a0381811660009081526009602052604090205481169083161415610ee257600160a060020a038083166000818152600960209081526040808320549585168352808320805473ffffffffffffffffffffffffffffffffffffffff19169690951695909517909355908152600890915220805460ff19169055610410565b600160a060020a0390811660009081526009602052604090205416610e3e565b50600160a060020a0381166000908152600860205260409020805460ff19169055610410565b5050565b6001546954b40b1f852bda0000001161109a576000610f4961109c565b600160a060020a0380821660008181526009602052604090205492935091169015801590610f7f57506000610f7d836104c8565b115b15610f28576000610f9460036103e4856104c8565b9050600160a060020a0382161561107b57610faf83826110fe565b600160a060020a038316600090815260056020526040902054610fd8908263ffffffff610d8116565b600160a060020a03808516600090815260056020526040808220939093559084168152205461100d908263ffffffff610d9616565b600160a060020a03808416600081815260056020908152604091829020949094558051858152905191939287169260008051602061118b83398151915292918290030190a361105b83610da8565b61106482610da8565b61106d836107b3565b611076826107b3565b6109ee565b61108883826002026110fe565b61109183610da8565b6109ee836107b3565b565b600354600090600160a060020a031660015b600d8110156110f857600160a060020a03821615156110d257600092505050610464565b600160a060020a03918216600090815260096020526040902054909116906001016110ae565b50905090565b600160a060020a038216600090815260056020526040902054611127908263ffffffff610d8116565b600160a060020a03831660009081526005602052604081209190915554611154908263ffffffff610d8116565b6000908155604080518381529051600160a060020a0385169160008051602061118b833981519152919081900360200190a3505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d71089ea69c1363af3c63fcf7feddadf4e83407d63ffd733e12c1936445cd39b0029

Deployed Bytecode

0x6080604052600436106100be577c0100000000000000000000000000000000000000000000000000000000600035046306fdde0381146100d7578063095ea7b31461016157806318160ddd146101ae57806323b872dd146101d5578063313ce56714610218578063477e292d1461024357806370a082311461025857806373f425611461028b57806395d89b41146102a0578063a9059cbb146102b5578063d303e7b2146102ee578063d5abeb0114610303578063dd62ed3e14610318575b60003411156100cc57600080fd5b6100d533610353565b005b3480156100e357600080fd5b506100ec610413565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012657818101518382015260200161010e565b50505050905090810190601f1680156101535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016d57600080fd5b5061019a6004803603604081101561018457600080fd5b50600160a060020a03813516906020013561044a565b604080519115158252519081900360200190f35b3480156101ba57600080fd5b506101c3610460565b60408051918252519081900360200190f35b3480156101e157600080fd5b5061019a600480360360608110156101f857600080fd5b50600160a060020a03813581169160208101359091169060400135610467565b34801561022457600080fd5b5061022d6104be565b6040805160ff9092168252519081900360200190f35b34801561024f57600080fd5b5061022d6104c3565b34801561026457600080fd5b506101c36004803603602081101561027b57600080fd5b5035600160a060020a03166104c8565b34801561029757600080fd5b506101c36104e3565b3480156102ac57600080fd5b506100ec6104ed565b3480156102c157600080fd5b5061019a600480360360408110156102d857600080fd5b50600160a060020a038135169060200135610524565b3480156102fa57600080fd5b506101c3610531565b34801561030f57600080fd5b506101c36105b4565b34801561032457600080fd5b506101c36004803603604081101561033b57600080fd5b50600160a060020a03813581169160200135166105c2565b600160a060020a038116151561036857600080fd5b60015469d3c21bcecceda10000001161038057600080fd5b600160a060020a03811660009081526007602052604090205460ff161515600114156103ab57600080fd5b6002546000106103ba57600080fd5b6103c6816002546105ed565b6104046103f060646103e4606360025461074b90919063ffffffff16565b9063ffffffff61077916565b60015469d3c21bcecceda10000000361079d565b600255610410816107b3565b50565b60408051808201909152601181527f545249534b414944454b4150484f424941000000000000000000000000000000602082015281565b60006104573384846109f3565b50600192915050565b6000545b90565b6000610474848484610b60565b600160a060020a0384166000908152600660209081526040808320338085529252909120546104b49186916104af908663ffffffff610d8116565b6109f3565b5060019392505050565b601281565b600f81565b600160a060020a031660009081526005602052604090205490565b6000546001540390565b60408051808201909152600581527f2054524953000000000000000000000000000000000000000000000000000000602082015281565b6000610457338484610b60565b3360009081526008602052604081205460ff161515600114156105ae57600354600160a060020a031660015b600f60ff8216116105ab5733600160a060020a03831614156105855760ff1691506104649050565b600160a060020a039182166000908152600960205260409020549091169060010161055d565b50505b50600090565b69d3c21bcecceda100000081565b600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b600054610600908263ffffffff610d9616565b600055600154610616908263ffffffff610d9616565b6001908155600160a060020a0383166000908152600760205260408120805460ff191690921790915561065560646103e484600563ffffffff61074b16565b90506000610669838363ffffffff610d8116565b600454600160a060020a0316600090815260056020526040902054909150610697908363ffffffff610d9616565b600454600160a060020a0390811660009081526005602052604080822093909355908616815220546106cf908263ffffffff610d9616565b600160a060020a038516600081815260056020908152604080832094909455835185815293519293919260008051602061118b8339815191529281900390910190a3600454604080518481529051600160a060020a039092169160009160008051602061118b833981519152919081900360200190a350505050565b6000828202831580610767575082848281151561076457fe5b04145b151561077257600080fd5b9392505050565b600080821161078757600080fd5b6000828481151561079457fe5b04949350505050565b60008183106107ac5781610772565b5090919050565b600160a060020a03811615156107c857600080fd5b600160a060020a03811660009081526008602052604090205460ff16151560011461041057600354600160a060020a0316151561085a5760038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19918216811790925560009182526009602090815260408084208054909316909255600890529020805460ff19166001179055610410565b600354600160a060020a0390811660009081526005602052604080822054928416825290205411156108ea5760038054600160a060020a03838116600081815260096020908152604080832080549590961673ffffffffffffffffffffffffffffffffffffffff19958616179095558554909316909117909355600890529020805460ff19166001179055610410565b600354600160a060020a031660015b600f60ff8216116109ee57600160a060020a03808316600090815260096020908152604080832054841683526005909152808220549286168252902054118061095a5750600160a060020a0382811660009081526009602052604090205416155b156109c85750600160a060020a039081166000908152600960209081526040808320805486861680865283862080549290971673ffffffffffffffffffffffffffffffffffffffff19928316179096558154169094179093556008905220805460ff19166001179055610410565b600160a060020a03918216600090815260096020526040902054909116906001016108f9565b505050565b600160a060020a0383161515610a78576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610afe576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03808416600081815260066020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a0383161515610be6576040805160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610c6c576040805160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b801515610cb25781600160a060020a031683600160a060020a031660008051602061118b83398151915260006040518082815260200191505060405180910390a36109ee565b600160a060020a038316600090815260056020526040902054610cdb908263ffffffff610d8116565b600160a060020a038085166000908152600560205260408082209390935590841681522054610d10908263ffffffff610d9616565b600160a060020a03808416600081815260056020908152604091829020949094558051858152905191939287169260008051602061118b83398151915292918290030190a3610d5e83610da8565b610d6782610da8565b610d70836107b3565b610d79826107b3565b6109ee610f2c565b600082821115610d9057600080fd5b50900390565b60008282018381101561077257600080fd5b600160a060020a03811660009081526008602052604090205460ff1615156001141561041057600354600160a060020a03908116908216811415610e3e57600160a060020a039081166000908152600960209081526040808320546003805473ffffffffffffffffffffffffffffffffffffffff191691861691909117905592841682526008905220805460ff19169055610410565b600160a060020a038181166000908152600960205260409020541615610f0257600160a060020a0381811660009081526009602052604090205481169083161415610ee257600160a060020a038083166000818152600960209081526040808320549585168352808320805473ffffffffffffffffffffffffffffffffffffffff19169690951695909517909355908152600890915220805460ff19169055610410565b600160a060020a0390811660009081526009602052604090205416610e3e565b50600160a060020a0381166000908152600860205260409020805460ff19169055610410565b5050565b6001546954b40b1f852bda0000001161109a576000610f4961109c565b600160a060020a0380821660008181526009602052604090205492935091169015801590610f7f57506000610f7d836104c8565b115b15610f28576000610f9460036103e4856104c8565b9050600160a060020a0382161561107b57610faf83826110fe565b600160a060020a038316600090815260056020526040902054610fd8908263ffffffff610d8116565b600160a060020a03808516600090815260056020526040808220939093559084168152205461100d908263ffffffff610d9616565b600160a060020a03808416600081815260056020908152604091829020949094558051858152905191939287169260008051602061118b83398151915292918290030190a361105b83610da8565b61106482610da8565b61106d836107b3565b611076826107b3565b6109ee565b61108883826002026110fe565b61109183610da8565b6109ee836107b3565b565b600354600090600160a060020a031660015b600d8110156110f857600160a060020a03821615156110d257600092505050610464565b600160a060020a03918216600090815260096020526040902054909116906001016110ae565b50905090565b600160a060020a038216600090815260056020526040902054611127908263ffffffff610d8116565b600160a060020a03831660009081526005602052604081209190915554611154908263ffffffff610d8116565b6000908155604080518381529051600160a060020a0385169160008051602061118b833981519152919081900360200190a3505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d71089ea69c1363af3c63fcf7feddadf4e83407d63ffd733e12c1936445cd39b0029

Deployed Bytecode Sourcemap

1697:9314:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6730:1;6718:9;:13;6715:90;;;6741:8;;;6715:90;6777:20;6786:10;6777:8;:20::i;:::-;1697:9314;1924:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1924:49:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1924:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3066:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3066:145:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3066:145:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2579:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2579:82:0;;;:::i;:::-;;;;;;;;;;;;;;;;3217:247;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3217:247:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3217:247:0;;;;;;;;;;;;;;;;;:::i;1801:35::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1801:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1841:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1841:34:0;;;:::i;2667:109::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2667:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2667:109:0;-1:-1:-1;;;;;2667:109:0;;:::i;10924:84::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10924:84:0;;;:::i;1880:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1880:39:0;;;:::i;2923:137::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2923:137:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2923:137:0;;;;;;;;:::i;9858:568::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9858:568:0;;;:::i;1978:61::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1978:61:0;;;:::i;2782:135::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2782:135:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2782:135:0;;;;;;;;;;:::i;6218:455::-;-1:-1:-1;;;;;6277:21:0;;;;6269:30;;;;;;6314:7;;2011:28;-1:-1:-1;6306:28:0;;;;;;-1:-1:-1;;;;;6373:20:0;;;;;;:11;:20;;;;;;;;:28;;:20;:28;;6365:37;;;;;;6464:12;;6479:1;-1:-1:-1;6456:25:0;;;;;;6532:27;6538:7;6546:12;;6532:5;:27::i;:::-;6581:63;6590:31;6617:3;6591:20;6608:2;6591:12;;:16;;:20;;;;:::i;:::-;6590:26;:31;:26;:31;:::i;:::-;6635:7;;2011:28;6623:19;6581:8;:63::i;:::-;6566:12;:78;6651:16;6659:7;6651;:16::i;:::-;6218:455;:::o;1924:49::-;;;;;;;;;;;;;;;;;;;:::o;3066:145::-;3129:12;3150:37;3159:10;3171:7;3180:6;3150:8;:37::i;:::-;-1:-1:-1;3201:4:0;3066:145;;;;:::o;2579:82::-;2623:4;2643:12;2579:82;;:::o;3217:247::-;3303:12;3324:36;3334:6;3342:9;3353:6;3324:9;:36::i;:::-;-1:-1:-1;;;;;3396:19:0;;;;;;:11;:19;;;;;;;;3384:10;3396:31;;;;;;;;;3367:73;;3376:6;;3396:43;;3432:6;3396:43;:35;:43;:::i;:::-;3367:8;:73::i;:::-;-1:-1:-1;3454:4:0;3217:247;;;;;:::o;1801:35::-;1834:2;1801:35;:::o;1841:34::-;1873:2;1841:34;:::o;2667:109::-;-1:-1:-1;;;;;2752:18:0;2724:12;2752:18;;;:9;:18;;;;;;;2667:109::o;10924:84::-;10962:4;10990:12;10982:7;;:20;10924:84;:::o;1880:39::-;;;;;;;;;;;;;;;;;;;:::o;2923:137::-;2982:12;3003:33;3013:10;3025:2;3029:6;3003:9;:33::i;9858:568::-;9982:10;9897:4;9975:18;;;:6;:18;;;;;;;;:26;;:18;:26;9972:386;;;10108:8;;-1:-1:-1;;;;;10108:8:0;;10125:226;1873:2;10142:12;;;;10125:226;;10243:10;-1:-1:-1;;;;;10243:21:0;;;10240:64;;;10285:7;;;-1:-1:-1;10278:14:0;;-1:-1:-1;10278:14:0;10240:64;-1:-1:-1;;;;;10324:17:0;;;;;;;:8;:17;;;;;;;;;;;10156:3;10125:226;;;;9972:386;;-1:-1:-1;10371:1:0;9858:568;:::o;1978:61::-;2011:28;1978:61;:::o;2782:135::-;-1:-1:-1;;;;;2884:18:0;;;2854:14;2884:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2782:135::o;5702:510::-;5778:12;;:24;;5795:6;5778:24;:16;:24;:::i;:::-;5763:12;:39;5819:7;;:19;;5831:6;5819:19;:11;:19;:::i;:::-;5809:7;:29;;;-1:-1:-1;;;;;5845:20:0;;;;;;:11;:20;;;;;:27;;-1:-1:-1;;5845:27:0;;;;;;;5896:24;5916:3;5897:13;:6;5908:1;5897:13;:10;:13;:::i;5896:24::-;5879:41;-1:-1:-1;5927:16:0;5946:21;:6;5879:41;5946:21;:10;:21;:::i;:::-;6008:10;;-1:-1:-1;;;;;6008:10:0;5998:21;;;;:9;:21;;;;;;5927:40;;-1:-1:-1;5998:36:0;;6024:9;5998:36;:25;:36;:::i;:::-;5984:10;;-1:-1:-1;;;;;5984:10:0;;;5974:21;;;;:9;:21;;;;;;:60;;;;6062:18;;;;;;;:35;;6085:11;6062:35;:22;:35;:::i;:::-;-1:-1:-1;;;;;6041:18:0;;;;;;:9;:18;;;;;;;;:56;;;;6109:42;;;;;;;6041:18;;;;-1:-1:-1;;;;;;;;;;;6109:42:0;;;;;;;;;6184:10;;6163:43;;;;;;;;-1:-1:-1;;;;;6184:10:0;;;;;;-1:-1:-1;;;;;;;;;;;6163:43:0;;;;;;;;;5702:510;;;;:::o;978:136::-;1030:4;1052:5;;;1072:6;;;:20;;;1091:1;1086;1082;:5;;;;;;;;:10;1072:20;1064:29;;;;;;;;1107:1;978:136;-1:-1:-1;;;978:136:0:o;1120:121::-;1172:4;1193:5;;;1185:14;;;;;;1206:6;1219:1;1215;:5;;;;;;;;;1120:121;-1:-1:-1;;;;1120:121:0:o;1383:106::-;1441:7;1472:1;1468;:5;:13;;1480:1;1468:13;;;-1:-1:-1;1476:1:0;;1461:20;-1:-1:-1;1383:106:0:o;6816:1697::-;-1:-1:-1;;;;;6922:18:0;;;;6914:27;;;;;;-1:-1:-1;;;;;6951:12:0;;;;;;:6;:12;;;;;;;;:20;;:12;:20;6948:1560;;7064:8;;-1:-1:-1;;;;;7064:8:0;:22;7061:1440;;;7147:8;:15;;-1:-1:-1;;;;;7147:15:0;;-1:-1:-1;;7147:15:0;;;;;;;;:8;7218:14;;;:8;:14;;;;;;;;:27;;;;;;;;7315:6;:12;;;;:19;;-1:-1:-1;;7315:19:0;7147:15;7315:19;;;7345:7;;7061:1440;7405:8;;-1:-1:-1;;;;;7405:8:0;;;7395:19;;;;:9;:19;;;;;;;7377:15;;;;;;;;:37;7374:1127;;;7518:8;;;-1:-1:-1;;;;;7501:14:0;;;7518:8;7501:14;;;:8;:14;;;;;;;;:25;;7518:8;;;;-1:-1:-1;;7501:25:0;;;;;;;7591:15;;;;;;;;;;;7650:6;:12;;;;:19;;-1:-1:-1;;7650:19:0;-1:-1:-1;7650:19:0;;;7680:7;;7374:1127;7796:8;;-1:-1:-1;;;;;7796:8:0;;7852:640;1873:2;7869:10;;;;7852:640;;-1:-1:-1;;;;;8108:17:0;;;8098:28;8108:17;;;:8;:17;;;;;;;;;;;8098:28;;:9;:28;;;;;;;8080:15;;;;;;;;:46;;:81;;-1:-1:-1;;;;;;8130:17:0;;;8159:1;8130:17;;;:8;:17;;;;;;;:31;8080:81;8077:364;;;-1:-1:-1;;;;;;8194:17:0;;;;;;;:8;:17;;;;;;;;;;8177:14;;;;;;;;;:34;;8194:17;;;;-1:-1:-1;;8177:34:0;;;;;;;8289:24;;;;;;;;;8387:6;:12;;;:19;;-1:-1:-1;;8387:19:0;-1:-1:-1;8387:19:0;;;8421:7;;8077:364;-1:-1:-1;;;;;8463:17:0;;;;;;;:8;:17;;;;;;;;;;;7881:3;7852:640;;;;7374:1127;6816:1697;:::o;3494:317::-;-1:-1:-1;;;;;3581:19:0;;;;3573:68;;;;;-1:-1:-1;;;;;3573:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3656:21:0;;;;3648:68;;;;;-1:-1:-1;;;;;3648:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3725:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;3773:32;;;;;;;;;;;;;;;;;3494:317;;;:::o;3817:760::-;-1:-1:-1;;;;;3908:20:0;;;;3900:70;;;;;-1:-1:-1;;;;;3900:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3985:23:0;;;;3977:71;;;;;-1:-1:-1;;;;;3977:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4126:11;;4122:84;;;4170:9;-1:-1:-1;;;;;4153:30:0;4162:6;-1:-1:-1;;;;;4153:30:0;-1:-1:-1;;;;;;;;;;;4181:1:0;4153:30;;;;;;;;;;;;;;;;;;4192:7;;4122:84;-1:-1:-1;;;;;4234:17:0;;;;;;:9;:17;;;;;;:29;;4256:6;4234:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;4214:17:0;;;;;;;:9;:17;;;;;;:49;;;;4293:20;;;;;;;:32;;4318:6;4293:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;4270:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;4337:35;;;;;;;4270:20;;4337:35;;;;-1:-1:-1;;;;;;;;;;;4337:35:0;;;;;;;;4475:12;4480:6;4475:4;:12::i;:::-;4494:15;4499:9;4494:4;:15::i;:::-;4516;4524:6;4516:7;:15::i;:::-;4538:18;4546:9;4538:7;:18::i;:::-;4563:8;:6;:8::i;850:122::-;902:4;923:6;;;;915:15;;;;;;-1:-1:-1;946:5:0;;;850:122::o;722:::-;774:4;796:5;;;816:6;;;;808:15;;;;;8519:1333;-1:-1:-1;;;;;8654:12:0;;;;;;:6;:12;;;;;;;;:20;;:12;:20;8651:1196;;;8780:8;;-1:-1:-1;;;;;8780:8:0;;;;8837:15;;;;8834:1006;;;-1:-1:-1;;;;;8918:17:0;;;;;;;:8;:17;;;;;;;;;8907:8;:28;;-1:-1:-1;;8907:28:0;8918:17;;;8907:28;;;;;;8997:12;;;;;:6;:12;;;:20;;-1:-1:-1;;8997:20:0;;;9079:7;;8834:1006;-1:-1:-1;;;;;9200:17:0;;;9229:1;9200:17;;;:8;:17;;;;;;;:31;9193:485;;-1:-1:-1;;;;;9295:17:0;;;;;;;:8;:17;;;;;;;;:25;;;;9292:292;;;-1:-1:-1;;;;;9414:14:0;;;;;;;:8;:14;;;;;;;;;9394:17;;;;;;;;:34;;-1:-1:-1;;9394:34:0;9414:14;;;;9394:34;;;;;;;9490:12;;;:6;:12;;;;:20;;-1:-1:-1;;9490:20:0;;;9564:7;;9292:292;-1:-1:-1;;;;;9606:17:0;;;;;;;:8;:17;;;;;;;9193:485;;;-1:-1:-1;;;;;;9688:12:0;;9703:5;9688:12;;;:6;:12;;;;;:20;;-1:-1:-1;;9688:20:0;;;9824:7;;8834:1006;8651:1196;8519:1333;:::o;4583:894::-;4620:7;;4631:27;-1:-1:-1;4617:855:0;;4666:20;4689:18;:16;:18::i;:::-;-1:-1:-1;;;;;4737:22:0;;;4714:20;4737:22;;;:8;:22;;;;;;4666:41;;-1:-1:-1;4737:22:0;;;4771:26;;;;4770:61;;;4829:1;4803:23;4813:12;4803:9;:23::i;:::-;:27;4770:61;4766:699;;;4843:17;4863:30;4891:1;4863:23;4873:12;4863:9;:23::i;:30::-;4843:50;-1:-1:-1;;;;;;4905:26:0;;;4902:556;;4943:32;4949:12;4962;4943:5;:32::i;:::-;-1:-1:-1;;;;;5012:23:0;;;;;;:9;:23;;;;;;:41;;5040:12;5012:41;:27;:41;:::i;:::-;-1:-1:-1;;;;;4986:23:0;;;;;;;:9;:23;;;;;;:67;;;;5090:23;;;;;;;:41;;5118:12;5090:41;:27;:41;:::i;:::-;-1:-1:-1;;;;;5064:23:0;;;;;;;:9;:23;;;;;;;;;:67;;;;5147:50;;;;;;;5064:23;;5147:50;;;;-1:-1:-1;;;;;;;;;;;5147:50:0;;;;;;;;5208:18;5213:12;5208:4;:18::i;:::-;5237;5242:12;5237:4;:18::i;:::-;5266:21;5274:12;5266:7;:21::i;:::-;5298;5306:12;5298:7;:21::i;:::-;4902:556;;;5353:34;5359:12;5374;5372:1;:14;5353:5;:34::i;:::-;5398:18;5403:12;5398:4;:18::i;:::-;5427:21;5435:12;5427:7;:21::i;4617:855::-;4583:894::o;10432:486::-;10511:8;;10477:7;;-1:-1:-1;;;;;10511:8:0;;10526:255;10546:2;10542:1;:6;10526:255;;;-1:-1:-1;;;;;10567:21:0;;;10564:174;;;10662:1;10647:17;;;;;;10564:174;-1:-1:-1;;;;;10756:17:0;;;;;;;:8;:17;;;;;;;;;;;10550:3;10526:255;;;-1:-1:-1;10794:7:0;-1:-1:-1;10432:486:0;:::o;5483:213::-;-1:-1:-1;;;;;5565:18:0;;;;;;:9;:18;;;;;;:30;;5588:6;5565:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;5544:18:0;;;;;;:9;:18;;;;;:51;;;;5617:12;:24;;5634:6;5617:24;:16;:24;:::i;:::-;5602:12;:39;;;5653:37;;;;;;;;-1:-1:-1;;;;;5653:37:0;;;-1:-1:-1;;;;;;;;;;;5653:37:0;;;;;;;;;5483:213;;:::o

Swarm Source

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