ETH Price: $3,109.84 (-6.20%)
 

Overview

Max Total Supply

300,000,000 DAF

Holders

758 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
15 DAF

Value
$0.00
0x5e40db663f83cfa5f4c5095218ec97fcd768959f
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

DaFIN was launched by 'DAFIN PTE. LTD.' a digital Asset Management company, based on professional and stable asset management gains.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DAFIN

Compiler Version
v0.5.6+commit.b259423e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-05-20
*/

pragma solidity 0.5.6;




// ERC20 declare
contract IERC20 {
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
  event Burn(address indexed burner, uint256 value);
}




// Ownable
contract Ownable {
  address public owner;
  address public admin;

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  constructor() public {
    owner = msg.sender;
  }


  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  modifier onlyOwnerOrAdmin() {
    require((msg.sender == owner || msg.sender == admin));
    _;
  }


  function transferOwnership(address newOwner) onlyOwner public {
    require(newOwner != address(0));
    require(newOwner != owner);
    require(newOwner != admin);

    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

  function setAdmin(address newAdmin) onlyOwner public {
    require(admin != newAdmin);
    require(owner != newAdmin);

    admin = newAdmin;
  }
}




// ERC20 functions
contract ERC20 is IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping(address => bool) internal locks;
    mapping (address => mapping (address => uint256)) private _allowed;
    
    uint256 public Max_supply = 10000000000 * (10 ** 18);
    uint256 private _totalSupply;

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


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


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


    function transfer(address to, uint256 value) public returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }
    
    function _transfer(address from, address to, uint256 value) internal {
        require(to != address(0));
        require(locks[msg.sender] == false);
        _balances[from] = _balances[from].sub(value);
        _balances[to] = _balances[to].add(value);
        emit Transfer(from, to, value);
    }
    

    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }
    
    function _approve(address owner, address spender, uint256 value) internal {
        require(spender != address(0));
        require(owner != address(0));

        _allowed[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function transferFrom(address from, address to, uint256 value) public returns (bool) {
        _transfer(from, to, value);
        _approve(from, msg.sender, _allowed[from][msg.sender].sub(value));
        return true;
    }


    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowed[msg.sender][spender].add(addedValue));
        return true;
    }


    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowed[msg.sender][spender].sub(subtractedValue));
        return true;
    }


    function _mint(address account, uint256 value) internal {
        require(account != address(0));
        require(Max_supply >= _totalSupply.add(value));
        _totalSupply = _totalSupply.add(value);
        _balances[account] = _balances[account].add(value);
        emit Transfer(address(0), account, value);
    }
    
    
    function burn(address from, uint256 value) public onlyOwner {
        _burn(from, value);
    }
    

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

    function lock(address _owner) public onlyOwner returns (bool) {
        require(locks[_owner] == false);
        locks[_owner] = true;
        return true;
    }

    function unlock(address _owner) public onlyOwner returns (bool) {
        require(locks[_owner] == true);
        locks[_owner] = false;
        return true;
    }

    function showLockState(address _owner) public view returns (bool) {
        return locks[_owner];
    }

}


// Pause, Mint base
library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }


    function add(Role storage role, address account) internal {
        require(account != address(0));
        require(!has(role, account));

        role.bearer[account] = true;
    }


    function remove(Role storage role, address account) internal {
        require(account != address(0));
        require(has(role, account));

        role.bearer[account] = false;
    }


    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0));
        return role.bearer[account];
    }
}



// ERC20Detailed
contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }
    
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}




// Math
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) {
        return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
    }
}




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

    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  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); // overflow check
    return c;
  }
}




// Pause part
contract PauserRole {
    using Roles for Roles.Role;

    event PauserAdded(address indexed account);
    event PauserRemoved(address indexed account);

    Roles.Role private _pausers;

    constructor () internal {
        _addPauser(msg.sender);
    }

    modifier onlyPauser() {
        require(isPauser(msg.sender));
        _;
    }

    function isPauser(address account) public view returns (bool) {
        return _pausers.has(account);
    }

    function addPauser(address account) public onlyPauser {
        _addPauser(account);
    }

    function renouncePauser() public {
        _removePauser(msg.sender);
    }

    function _addPauser(address account) internal {
        _pausers.add(account);
        emit PauserAdded(account);
    }

    function _removePauser(address account) internal {
        _pausers.remove(account);
        emit PauserRemoved(account);
    }
}





contract Pausable is PauserRole {
    event Paused(address account);
    event Unpaused(address account);

    bool private _paused;

    constructor () internal {
        _paused = false;
    }

    function paused() public view returns (bool) {
        return _paused;
    }


    modifier whenNotPaused() {
        require(!_paused);
        _;
    }


    modifier whenPaused() {
        require(_paused);
        _;
    }


    function pause() public onlyPauser whenNotPaused {
        _paused = true;
        emit Paused(msg.sender);
    }


    function unpause() public onlyPauser whenPaused {
        _paused = false;
        emit Unpaused(msg.sender);
    }
}




contract ERC20Pausable is ERC20, Pausable {
    function transfer(address to, uint256 value) public whenNotPaused returns (bool) {
        return super.transfer(to, value);
    }

    function transferFrom(address from, address to, uint256 value) public whenNotPaused returns (bool) {
        return super.transferFrom(from, to, value);
    }

    function approve(address spender, uint256 value) public whenNotPaused returns (bool) {
        return super.approve(spender, value);
    }

    function increaseAllowance(address spender, uint addedValue) public whenNotPaused returns (bool) {
        return super.increaseAllowance(spender, addedValue);
    }

    function decreaseAllowance(address spender, uint subtractedValue) public whenNotPaused returns (bool) {
        return super.decreaseAllowance(spender, subtractedValue);
    }
}




// Mintable part
contract MinterRole {
    using Roles for Roles.Role;

    event MinterAdded(address indexed account);
    event MinterRemoved(address indexed account);

    Roles.Role private _minters;

    constructor () internal {
        _addMinter(msg.sender);
    }

    modifier onlyMinter() {
        require(isMinter(msg.sender));
        _;
    }

    function isMinter(address account) public view returns (bool) {
        return _minters.has(account);
    }

    function addMinter(address account) public onlyMinter {
        _addMinter(account);
    }

    function renounceMinter() public {
        _removeMinter(msg.sender);
    }

    function _addMinter(address account) internal {
        _minters.add(account);
        emit MinterAdded(account);
    }

    function _removeMinter(address account) internal {
        _minters.remove(account);
        emit MinterRemoved(account);
    }
}




contract ERC20Mintable is ERC20, MinterRole {
    function mint(address to, uint256 value) public onlyMinter returns (bool) {
        _mint(to, value);
        return true;
    }
}



// Token detailed
contract DAFIN is ERC20, ERC20Detailed, ERC20Pausable, ERC20Mintable {
    
    string public constant name = "DAFIN";
    string public constant symbol = "DAF";
    
    uint8 public constant DECIMALS = 18;
    uint256 public constant INITIAL_SUPPLY = 300000000 * (10 ** uint256(DECIMALS));

    constructor () public ERC20Detailed(name, symbol, DECIMALS) {
        _mint(msg.sender, INITIAL_SUPPLY);
    }
  
}

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":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"unlock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"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":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"showLockState","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"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":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","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":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":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"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"},{"constant":true,"inputs":[],"name":"Max_supply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"lock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

60806040526b204fce5e3e250261100000006005553480156200002157600080fd5b506040518060400160405280600581526020017f444146494e0000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f44414600000000000000000000000000000000000000000000000000000000008152506012336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260079080519060200190620000e892919062000538565b5081600890805190602001906200010192919062000538565b5080600960006101000a81548160ff021916908360ff16021790555050505062000131336200018260201b60201c565b6000600b60006101000a81548160ff0219169083151502179055506200015d33620001e360201b60201c565b6200017c33601260ff16600a0a6311e1a300026200024460201b60201c565b620005e7565b6200019d81600a620003d260201b6200216a1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b620001fe81600c620003d260201b6200216a1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200027f57600080fd5b6200029b816006546200048860201b620020a31790919060201c565b6005541015620002aa57600080fd5b620002c6816006546200048860201b620020a31790919060201c565b6006819055506200032581600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200048860201b620020a31790919060201c565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200040d57600080fd5b6200041f8282620004a560201b60201c565b156200042a57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000808284019050838110156200049b57fe5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620004e157600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200057b57805160ff1916838001178555620005ac565b82800160010185558215620005ac579182015b82811115620005ab5782518255916020019190600101906200058e565b5b509050620005bb9190620005bf565b5090565b620005e491905b80821115620005e0576000816000905550600101620005c6565b5090565b90565b61224280620005f76000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806370a082311161010f578063a457c2d7116100a2578063e2490d5b11610071578063e2490d5b146109f1578063f2fde38b14610a0f578063f435f5a714610a53578063f851a44014610aaf576101f0565b8063a457c2d714610851578063a9059cbb146108b7578063aa271e1a1461091d578063dd62ed3e14610979576101f0565b806395d89b41116100de57806395d89b4114610732578063983b2d56146107b557806398650275146107f95780639dc29fac14610803576101f0565b806370a082311461064257806382dc1ec41461069a5780638456cb59146106de5780638da5cb5b146106e8576101f0565b806339509351116101875780635c975abb116101565780635c975abb14610576578063625becbc146105985780636ef8d66d146105f4578063704b6c02146105fe576101f0565b806339509351146104445780633f4ba83a146104aa57806340c10f19146104b457806346fbf68e1461051a576101f0565b80632e0f2625116101c35780632e0f2625146103825780632f6c493c146103a65780632ff2e9dc14610402578063313ce56714610420576101f0565b806306fdde03146101f5578063095ea7b31461027857806318160ddd146102de57806323b872dd146102fc575b600080fd5b6101fd610af9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023d578082015181840152602081019050610222565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c46004803603604081101561028e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b32565b604051808215151515815260200191505060405180910390f35b6102e6610b60565b6040518082815260200191505060405180910390f35b6103686004803603606081101561031257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b6a565b604051808215151515815260200191505060405180910390f35b61038a610b9a565b604051808260ff1660ff16815260200191505060405180910390f35b6103e8600480360360208110156103bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b9f565b604051808215151515815260200191505060405180910390f35b61040a610cb8565b6040518082815260200191505060405180910390f35b610428610cc9565b604051808260ff1660ff16815260200191505060405180910390f35b6104906004803603604081101561045a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce0565b604051808215151515815260200191505060405180910390f35b6104b2610d0e565b005b610500600480360360408110156104ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610db9565b604051808215151515815260200191505060405180910390f35b61055c6004803603602081101561053057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610de1565b604051808215151515815260200191505060405180910390f35b61057e610dfe565b604051808215151515815260200191505060405180910390f35b6105da600480360360208110156105ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e15565b604051808215151515815260200191505060405180910390f35b6105fc610e6b565b005b6106406004803603602081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e76565b005b6106846004803603602081101561065857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fc8565b6040518082815260200191505060405180910390f35b6106dc600480360360208110156106b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611011565b005b6106e661102f565b005b6106f06110db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61073a611100565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561077a57808201518184015260208101905061075f565b50505050905090810190601f1680156107a75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107f7600480360360208110156107cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611139565b005b610801611157565b005b61084f6004803603604081101561081957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611162565b005b61089d6004803603604081101561086757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111c9565b604051808215151515815260200191505060405180910390f35b610903600480360360408110156108cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f7565b604051808215151515815260200191505060405180910390f35b61095f6004803603602081101561093357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611225565b604051808215151515815260200191505060405180910390f35b6109db6004803603604081101561098f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611242565b6040518082815260200191505060405180910390f35b6109f96112c9565b6040518082815260200191505060405180910390f35b610a5160048036036020811015610a2557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112cf565b005b610a9560048036036020811015610a6957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114d5565b604051808215151515815260200191505060405180910390f35b610ab76115ee565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6040518060400160405280600581526020017f444146494e00000000000000000000000000000000000000000000000000000081525081565b6000600b60009054906101000a900460ff1615610b4e57600080fd5b610b588383611614565b905092915050565b6000600654905090565b6000600b60009054906101000a900460ff1615610b8657600080fd5b610b9184848461162b565b90509392505050565b601281565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bfa57600080fd5b60011515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c5757600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b601260ff16600a0a6311e1a3000281565b6000600960009054906101000a900460ff16905090565b6000600b60009054906101000a900460ff1615610cfc57600080fd5b610d0683836116dc565b905092915050565b610d1733610de1565b610d2057600080fd5b600b60009054906101000a900460ff16610d3957600080fd5b6000600b60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000610dc433611225565b610dcd57600080fd5b610dd78383611781565b6001905092915050565b6000610df782600a6118f890919063ffffffff16565b9050919050565b6000600b60009054906101000a900460ff16905090565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610e743361198a565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ecf57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610f2a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610f8457600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61101a33610de1565b61102357600080fd5b61102c816119e4565b50565b61103833610de1565b61104157600080fd5b600b60009054906101000a900460ff161561105b57600080fd5b6001600b60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600381526020017f444146000000000000000000000000000000000000000000000000000000000081525081565b61114233611225565b61114b57600080fd5b61115481611a3e565b50565b61116033611a98565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111bb57600080fd5b6111c58282611af2565b5050565b6000600b60009054906101000a900460ff16156111e557600080fd5b6111ef8383611c46565b905092915050565b6000600b60009054906101000a900460ff161561121357600080fd5b61121d8383611ceb565b905092915050565b600061123b82600c6118f890919063ffffffff16565b9050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461132857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561136257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113bc57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561141757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461153057600080fd5b60001515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461158d57600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611621338484611d02565b6001905092915050565b6000611638848484611e61565b6116d184336116cc85600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208c90919063ffffffff16565b611d02565b600190509392505050565b6000611777338461177285600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120a390919063ffffffff16565b611d02565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117bb57600080fd5b6117d0816006546120a390919063ffffffff16565b60055410156117de57600080fd5b6117f3816006546120a390919063ffffffff16565b60068190555061184b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120a390919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561193357600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61199e81600a6120bf90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6119f881600a61216a90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b611a5281600c61216a90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b611aac81600c6120bf90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b2c57600080fd5b611b418160065461208c90919063ffffffff16565b600681905550611b9981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208c90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611ce13384611cdc85600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208c90919063ffffffff16565b611d02565b6001905092915050565b6000611cf8338484611e61565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d3c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d7657600080fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e9b57600080fd5b60001515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611ef857600080fd5b611f4a81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208c90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fdf81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120a390919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008282111561209857fe5b818303905092915050565b6000808284019050838110156120b557fe5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120f957600080fd5b61210382826118f8565b61210c57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156121a457600080fd5b6121ae82826118f8565b156121b857600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fea165627a7a723058203340060a54283b0e72c8f7e5510ca54c94d9e018feb0d37ff12fda262acdb9890029

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101f05760003560e01c806370a082311161010f578063a457c2d7116100a2578063e2490d5b11610071578063e2490d5b146109f1578063f2fde38b14610a0f578063f435f5a714610a53578063f851a44014610aaf576101f0565b8063a457c2d714610851578063a9059cbb146108b7578063aa271e1a1461091d578063dd62ed3e14610979576101f0565b806395d89b41116100de57806395d89b4114610732578063983b2d56146107b557806398650275146107f95780639dc29fac14610803576101f0565b806370a082311461064257806382dc1ec41461069a5780638456cb59146106de5780638da5cb5b146106e8576101f0565b806339509351116101875780635c975abb116101565780635c975abb14610576578063625becbc146105985780636ef8d66d146105f4578063704b6c02146105fe576101f0565b806339509351146104445780633f4ba83a146104aa57806340c10f19146104b457806346fbf68e1461051a576101f0565b80632e0f2625116101c35780632e0f2625146103825780632f6c493c146103a65780632ff2e9dc14610402578063313ce56714610420576101f0565b806306fdde03146101f5578063095ea7b31461027857806318160ddd146102de57806323b872dd146102fc575b600080fd5b6101fd610af9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023d578082015181840152602081019050610222565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c46004803603604081101561028e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b32565b604051808215151515815260200191505060405180910390f35b6102e6610b60565b6040518082815260200191505060405180910390f35b6103686004803603606081101561031257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b6a565b604051808215151515815260200191505060405180910390f35b61038a610b9a565b604051808260ff1660ff16815260200191505060405180910390f35b6103e8600480360360208110156103bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b9f565b604051808215151515815260200191505060405180910390f35b61040a610cb8565b6040518082815260200191505060405180910390f35b610428610cc9565b604051808260ff1660ff16815260200191505060405180910390f35b6104906004803603604081101561045a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce0565b604051808215151515815260200191505060405180910390f35b6104b2610d0e565b005b610500600480360360408110156104ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610db9565b604051808215151515815260200191505060405180910390f35b61055c6004803603602081101561053057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610de1565b604051808215151515815260200191505060405180910390f35b61057e610dfe565b604051808215151515815260200191505060405180910390f35b6105da600480360360208110156105ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e15565b604051808215151515815260200191505060405180910390f35b6105fc610e6b565b005b6106406004803603602081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e76565b005b6106846004803603602081101561065857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fc8565b6040518082815260200191505060405180910390f35b6106dc600480360360208110156106b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611011565b005b6106e661102f565b005b6106f06110db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61073a611100565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561077a57808201518184015260208101905061075f565b50505050905090810190601f1680156107a75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107f7600480360360208110156107cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611139565b005b610801611157565b005b61084f6004803603604081101561081957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611162565b005b61089d6004803603604081101561086757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111c9565b604051808215151515815260200191505060405180910390f35b610903600480360360408110156108cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f7565b604051808215151515815260200191505060405180910390f35b61095f6004803603602081101561093357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611225565b604051808215151515815260200191505060405180910390f35b6109db6004803603604081101561098f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611242565b6040518082815260200191505060405180910390f35b6109f96112c9565b6040518082815260200191505060405180910390f35b610a5160048036036020811015610a2557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112cf565b005b610a9560048036036020811015610a6957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114d5565b604051808215151515815260200191505060405180910390f35b610ab76115ee565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6040518060400160405280600581526020017f444146494e00000000000000000000000000000000000000000000000000000081525081565b6000600b60009054906101000a900460ff1615610b4e57600080fd5b610b588383611614565b905092915050565b6000600654905090565b6000600b60009054906101000a900460ff1615610b8657600080fd5b610b9184848461162b565b90509392505050565b601281565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bfa57600080fd5b60011515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c5757600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b601260ff16600a0a6311e1a3000281565b6000600960009054906101000a900460ff16905090565b6000600b60009054906101000a900460ff1615610cfc57600080fd5b610d0683836116dc565b905092915050565b610d1733610de1565b610d2057600080fd5b600b60009054906101000a900460ff16610d3957600080fd5b6000600b60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000610dc433611225565b610dcd57600080fd5b610dd78383611781565b6001905092915050565b6000610df782600a6118f890919063ffffffff16565b9050919050565b6000600b60009054906101000a900460ff16905090565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610e743361198a565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ecf57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610f2a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610f8457600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61101a33610de1565b61102357600080fd5b61102c816119e4565b50565b61103833610de1565b61104157600080fd5b600b60009054906101000a900460ff161561105b57600080fd5b6001600b60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600381526020017f444146000000000000000000000000000000000000000000000000000000000081525081565b61114233611225565b61114b57600080fd5b61115481611a3e565b50565b61116033611a98565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111bb57600080fd5b6111c58282611af2565b5050565b6000600b60009054906101000a900460ff16156111e557600080fd5b6111ef8383611c46565b905092915050565b6000600b60009054906101000a900460ff161561121357600080fd5b61121d8383611ceb565b905092915050565b600061123b82600c6118f890919063ffffffff16565b9050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461132857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561136257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113bc57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561141757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461153057600080fd5b60001515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461158d57600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611621338484611d02565b6001905092915050565b6000611638848484611e61565b6116d184336116cc85600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208c90919063ffffffff16565b611d02565b600190509392505050565b6000611777338461177285600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120a390919063ffffffff16565b611d02565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117bb57600080fd5b6117d0816006546120a390919063ffffffff16565b60055410156117de57600080fd5b6117f3816006546120a390919063ffffffff16565b60068190555061184b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120a390919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561193357600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61199e81600a6120bf90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6119f881600a61216a90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b611a5281600c61216a90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b611aac81600c6120bf90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b2c57600080fd5b611b418160065461208c90919063ffffffff16565b600681905550611b9981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208c90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611ce13384611cdc85600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208c90919063ffffffff16565b611d02565b6001905092915050565b6000611cf8338484611e61565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d3c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d7657600080fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e9b57600080fd5b60001515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611ef857600080fd5b611f4a81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208c90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fdf81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120a390919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008282111561209857fe5b818303905092915050565b6000808284019050838110156120b557fe5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120f957600080fd5b61210382826118f8565b61210c57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156121a457600080fd5b6121ae82826118f8565b156121b857600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fea165627a7a723058203340060a54283b0e72c8f7e5510ca54c94d9e018feb0d37ff12fda262acdb9890029

Deployed Bytecode Sourcemap

11102:424:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11102:424:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11184:37;;;:::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;11184:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9421:140;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9421:140:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1944:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9253:160;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9253:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11278:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4787:167;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4787:167:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11320:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6089:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9569:167;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9569:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8933:118;;;:::i;:::-;;10941:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10941:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7770:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7770:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8557:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4962:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4962:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7987:77;;;:::i;:::-;;1411:150;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1411:150:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2045:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2045:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7887:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7887:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8807:116;;;:::i;:::-;;769:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11228:37;;;:::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;11228:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10432:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10432:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10532:77;;;:::i;:::-;;4212:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4212:97:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9744:177;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9744:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9113:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9113:132:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10315:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10315:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2161:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2161:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1848:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1159:246;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1159:246:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4614:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4614:165:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;794:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11184:37;;;;;;;;;;;;;;;;;;;:::o;9421:140::-;9500:4;8690:7;;;;;;;;;;;8689:8;8681:17;;;;;;9524:29;9538:7;9547:5;9524:13;:29::i;:::-;9517:36;;9421:140;;;;:::o;1944:91::-;1988:7;2015:12;;2008:19;;1944:91;:::o;9253:160::-;9346:4;8690:7;;;;;;;;;;;8689:8;8681:17;;;;;;9370:35;9389:4;9395:2;9399:5;9370:18;:35::i;:::-;9363:42;;9253:160;;;;;:::o;11278:35::-;11311:2;11278:35;:::o;4787:167::-;4845:4;1023:5;;;;;;;;;;;1009:19;;:10;:19;;;1001:28;;;;;;4887:4;4870:21;;:5;:13;4876:6;4870:13;;;;;;;;;;;;;;;;;;;;;;;;;:21;;;4862:30;;;;;;4919:5;4903;:13;4909:6;4903:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;4942:4;4935:11;;4787:167;;;:::o;11320:78::-;11311:2;11380:17;;11374:2;:23;11361:9;:37;11320:78;:::o;6089:83::-;6130:5;6155:9;;;;;;;;;;;6148:16;;6089:83;:::o;9569:167::-;9660:4;8690:7;;;;;;;;;;;8689:8;8681:17;;;;;;9684:44;9708:7;9717:10;9684:23;:44::i;:::-;9677:51;;9569:167;;;;:::o;8933:118::-;7721:20;7730:10;7721:8;:20::i;:::-;7713:29;;;;;;8769:7;;;;;;;;;;;8761:16;;;;;;9002:5;8992:7;;:15;;;;;;;;;;;;;;;;;;9023:20;9032:10;9023:20;;;;;;;;;;;;;;;;;;;;;;8933:118::o;10941:131::-;11009:4;10266:20;10275:10;10266:8;:20::i;:::-;10258:29;;;;;;11026:16;11032:2;11036:5;11026;:16::i;:::-;11060:4;11053:11;;10941:131;;;;:::o;7770:109::-;7826:4;7850:21;7863:7;7850:8;:12;;:21;;;;:::i;:::-;7843:28;;7770:109;;;:::o;8557:78::-;8596:4;8620:7;;;;;;;;;;;8613:14;;8557:78;:::o;4962:105::-;5022:4;5046:5;:13;5052:6;5046:13;;;;;;;;;;;;;;;;;;;;;;;;;5039:20;;4962:105;;;:::o;7987:77::-;8031:25;8045:10;8031:13;:25::i;:::-;7987:77::o;1411:150::-;1023:5;;;;;;;;;;;1009:19;;:10;:19;;;1001:28;;;;;;1488:8;1479:17;;:5;;;;;;;;;;;:17;;;;1471:26;;;;;;1521:8;1512:17;;:5;;;;;;;;;;;:17;;;;1504:26;;;;;;1547:8;1539:5;;:16;;;;;;;;;;;;;;;;;;1411:150;:::o;2045:106::-;2100:7;2127:9;:16;2137:5;2127:16;;;;;;;;;;;;;;;;2120:23;;2045:106;;;:::o;7887:92::-;7721:20;7730:10;7721:8;:20::i;:::-;7713:29;;;;;;7952:19;7963:7;7952:10;:19::i;:::-;7887:92;:::o;8807:116::-;7721:20;7730:10;7721:8;:20::i;:::-;7713:29;;;;;;8690:7;;;;;;;;;;;8689:8;8681:17;;;;;;8877:4;8867:7;;:14;;;;;;;;;;;;;;;;;;8897:18;8904:10;8897:18;;;;;;;;;;;;;;;;;;;;;;8807:116::o;769:20::-;;;;;;;;;;;;;:::o;11228:37::-;;;;;;;;;;;;;;;;;;;:::o;10432:92::-;10266:20;10275:10;10266:8;:20::i;:::-;10258:29;;;;;;10497:19;10508:7;10497:10;:19::i;:::-;10432:92;:::o;10532:77::-;10576:25;10590:10;10576:13;:25::i;:::-;10532:77::o;4212:97::-;1023:5;;;;;;;;;;;1009:19;;:10;:19;;;1001:28;;;;;;4283:18;4289:4;4295:5;4283;:18::i;:::-;4212:97;;:::o;9744:177::-;9840:4;8690:7;;;;;;;;;;;8689:8;8681:17;;;;;;9864:49;9888:7;9897:15;9864:23;:49::i;:::-;9857:56;;9744:177;;;;:::o;9113:132::-;9188:4;8690:7;;;;;;;;;;;8689:8;8681:17;;;;;;9212:25;9227:2;9231:5;9212:14;:25::i;:::-;9205:32;;9113:132;;;;:::o;10315:109::-;10371:4;10395:21;10408:7;10395:8;:12;;:21;;;;:::i;:::-;10388:28;;10315:109;;;:::o;2161:131::-;2233:7;2260:8;:15;2269:5;2260:15;;;;;;;;;;;;;;;:24;2276:7;2260:24;;;;;;;;;;;;;;;;2253:31;;2161:131;;;;:::o;1848:52::-;;;;:::o;1159:246::-;1023:5;;;;;;;;;;;1009:19;;:10;:19;;;1001:28;;;;;;1256:1;1236:22;;:8;:22;;;;1228:31;;;;;;1286:5;;;;;;;;;;;1274:17;;:8;:17;;;;1266:26;;;;;;1319:5;;;;;;;;;;;1307:17;;:8;:17;;;;1299:26;;;;;;1367:8;1339:37;;1360:5;;;;;;;;;;;1339:37;;;;;;;;;;;;1391:8;1383:5;;:16;;;;;;;;;;;;;;;;;;1159:246;:::o;4614:165::-;4670:4;1023:5;;;;;;;;;;;1009:19;;:10;:19;;;1001:28;;;;;;4712:5;4695:22;;:5;:13;4701:6;4695:13;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;4687:31;;;;;;4745:4;4729:5;:13;4735:6;4729:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;4767:4;4760:11;;4614:165;;;:::o;794:20::-;;;;;;;;;;;;;:::o;2774:148::-;2839:4;2856:36;2865:10;2877:7;2886:5;2856:8;:36::i;:::-;2910:4;2903:11;;2774:148;;;;:::o;3196:228::-;3275:4;3292:26;3302:4;3308:2;3312:5;3292:9;:26::i;:::-;3329:65;3338:4;3344:10;3356:37;3387:5;3356:8;:14;3365:4;3356:14;;;;;;;;;;;;;;;:26;3371:10;3356:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;3329:8;:65::i;:::-;3412:4;3405:11;;3196:228;;;;;:::o;3434:203::-;3514:4;3531:76;3540:10;3552:7;3561:45;3595:10;3561:8;:20;3570:10;3561:20;;;;;;;;;;;;;;;:29;3582:7;3561:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;3531:8;:76::i;:::-;3625:4;3618:11;;3434:203;;;;:::o;3870:324::-;3964:1;3945:21;;:7;:21;;;;3937:30;;;;;;4000:23;4017:5;4000:12;;:16;;:23;;;;:::i;:::-;3986:10;;:37;;3978:46;;;;;;4050:23;4067:5;4050:12;;:16;;:23;;;;:::i;:::-;4035:12;:38;;;;4105:29;4128:5;4105:9;:18;4115:7;4105:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;4084:9;:18;4094:7;4084:18;;;;;;;;;;;;;;;:50;;;;4171:7;4150:36;;4167:1;4150:36;;;4180:5;4150:36;;;;;;;;;;;;;;;;;;3870:324;;:::o;5588:165::-;5660:4;5704:1;5685:21;;:7;:21;;;;5677:30;;;;;;5725:4;:11;;:20;5737:7;5725:20;;;;;;;;;;;;;;;;;;;;;;;;;5718:27;;5588:165;;;;:::o;8202:130::-;8262:24;8278:7;8262:8;:15;;:24;;;;:::i;:::-;8316:7;8302:22;;;;;;;;;;;;8202:130;:::o;8072:122::-;8129:21;8142:7;8129:8;:12;;:21;;;;:::i;:::-;8178:7;8166:20;;;;;;;;;;;;8072:122;:::o;10617:::-;10674:21;10687:7;10674:8;:12;;:21;;;;:::i;:::-;10723:7;10711:20;;;;;;;;;;;;10617:122;:::o;10747:130::-;10807:24;10823:7;10807:8;:15;;:24;;;;:::i;:::-;10861:7;10847:22;;;;;;;;;;;;10747:130;:::o;4323:277::-;4417:1;4398:21;;:7;:21;;;;4390:30;;;;;;4456:23;4473:5;4456:12;;:16;;:23;;;;:::i;:::-;4441:12;:38;;;;4511:29;4534:5;4511:9;:18;4521:7;4511:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;4490:9;:18;4500:7;4490:18;;;;;;;;;;;;;;;:50;;;;4582:1;4556:36;;4565:7;4556:36;;;4586:5;4556:36;;;;;;;;;;;;;;;;;;4323:277;;:::o;3647:213::-;3732:4;3749:81;3758:10;3770:7;3779:50;3813:15;3779:8;:20;3788:10;3779:20;;;;;;;;;;;;;;;:29;3800:7;3779:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;3749:8;:81::i;:::-;3848:4;3841:11;;3647:213;;;;:::o;2302:140::-;2363:4;2380:32;2390:10;2402:2;2406:5;2380:9;:32::i;:::-;2430:4;2423:11;;2302:140;;;;:::o;2934:254::-;3046:1;3027:21;;:7;:21;;;;3019:30;;;;;;3085:1;3068:19;;:5;:19;;;;3060:28;;;;;;3128:5;3101:8;:15;3110:5;3101:15;;;;;;;;;;;;;;;:24;3117:7;3101:24;;;;;;;;;;;;;;;:32;;;;3165:7;3149:31;;3158:5;3149:31;;;3174:5;3149:31;;;;;;;;;;;;;;;;;;2934:254;;;:::o;2454:306::-;2556:1;2542:16;;:2;:16;;;;2534:25;;;;;;2599:5;2578:26;;:5;:17;2584:10;2578:17;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;2570:35;;;;;;2634:26;2654:5;2634:9;:15;2644:4;2634:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;2616:9;:15;2626:4;2616:15;;;;;;;;;;;;;;;:44;;;;2687:24;2705:5;2687:9;:13;2697:2;2687:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;2671:9;:13;2681:2;2671:13;;;;;;;;;;;;;;;:40;;;;2742:2;2727:25;;2736:4;2727:25;;;2746:5;2727:25;;;;;;;;;;;;;;;;;;2454:306;;;:::o;7109:113::-;7167:7;7195:1;7190;:6;;7183:14;;;;7215:1;7211;:5;7204:12;;7109:113;;;;:::o;7228:151::-;7286:7;7302:9;7318:1;7314;:5;7302:17;;7338:1;7333;:6;;7326:14;;;;7372:1;7365:8;;;7228:151;;;;:::o;5389:189::-;5488:1;5469:21;;:7;:21;;;;5461:30;;;;;;5510:18;5514:4;5520:7;5510:3;:18::i;:::-;5502:27;;;;;;5565:5;5542:4;:11;;:20;5554:7;5542:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;5389:189;;:::o;5193:186::-;5289:1;5270:21;;:7;:21;;;;5262:30;;;;;;5312:18;5316:4;5322:7;5312:3;:18::i;:::-;5311:19;5303:28;;;;;;5367:4;5344;:11;;:20;5356:7;5344:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;5193:186;;:::o

Swarm Source

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