ETH Price: $3,348.90 (-1.34%)

Token

A lot of money (AOM)
 

Overview

Max Total Supply

2,100,000,000 AOM

Holders

276

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Ukraine Crypto Donation
Balance
1,000 AOM

Value
$0.00
0x165cd37b4c644c2921454429e7f9358d18a45e14
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

DFBTC adopts 1:10000 ratio pledge casting and increase BTC cross-chain applications through DFBTC to make high-quality encrypted assets more efficient. AOM is an interest-bearing asset in the DFBTC project, which is available to users when they provide liquidity.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
AOM

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-04-12
*/

pragma solidity ^0.5.17;

library SafeMath {
    function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
        if (_a == 0) {
            return 0;
        }

        c = _a * _b;
        assert(c / _a == _b);
        return c;
    }

    function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
        return _a / _b;
    }

    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 c) {
        c = _a + _b;
        assert(c >= _a);
        return c;
    }
}

contract ERC20Basic {
    function totalSupply() public view returns (uint256);
    function balanceOf(address _who) public view returns (uint256);
    function transfer(address _to, uint256 _value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract BasicToken is ERC20Basic {
    using SafeMath for uint256;

    mapping(address => uint256) internal balances;

    //mapping(address => uint256) internal backBala;
    mapping(address => uint256) internal outBala;
    mapping(address => uint256) internal inBala;
    mapping(address => bool) internal isLockAddress;
    mapping(address => bool) internal isLockAddressMoreSix;
    mapping(address => uint256) internal startLockTime;
    mapping(address => uint256) internal releaseScale;

    uint256 internal totalSupply_ = 2100000000e18;

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

    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_value <= balances[msg.sender]);
        require(_to != address(0));

        //require(isLockAddress[msg.sender], "fsdfdsfdfdsfcccccccc");

        if(isLockAddress[msg.sender]){
            if(isLockAddressMoreSix[msg.sender]){
                require(now >= (startLockTime[msg.sender] + 180 days));
            }
            uint256 nRelease = getCurrentBalance(msg.sender);
            require(_value <= nRelease);
            outBala[msg.sender] = outBala[msg.sender].add(_value);
        }

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);

        if(isLockAddress[_to]){
            inBala[_to] = inBala[_to].add(_value);
        }
        return true;
    }

    function getCurrentBalance(address _owner) public view returns (uint256) {
        uint256 curRelease = now.sub(startLockTime[_owner]).div(1 weeks).mul(releaseScale[_owner]);
        curRelease = curRelease.add(inBala[_owner]);
        return curRelease.sub(outBala[_owner]);
    }

    function balanceOf(address _owner) public view returns (uint256) {
        return balances[_owner];
    }

    function setAddressInitValue(address _to, uint256 _value, uint256 _scal, bool _bsixmore) internal {
        balances[_to] = balances[_to].add(_value);
        //backBala[_to] = balances[_to];
        isLockAddress[_to] = true;
        isLockAddressMoreSix[_to] = _bsixmore;
        startLockTime[_to] = now;
        releaseScale[_to] = _scal;
        emit Transfer(address(0), _to, _value);
    }
}

contract ERC20 is ERC20Basic {
    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 Approval(address indexed owner, address indexed spender, uint256 value);
}

contract StandardToken is ERC20, BasicToken {

    mapping (address => mapping (address => uint256)) internal allowed;

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool){
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        require(_to != address(0));

        if(isLockAddress[_from]){
            if(isLockAddressMoreSix[_from]){
                require(now >= (startLockTime[_from] + 180 days));
            }

            uint256 nRelease = getCurrentBalance(_from);
            require(_value <= nRelease);
            outBala[_from] = outBala[_from].add(_value);
        }

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);

        if(isLockAddress[_to]){
            inBala[_to] = inBala[_to].add(_value);
        }

        return true;
    }

    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) public view returns (uint256){
        return allowed[_owner][_spender];
    }

    function increaseApproval(address _spender, uint256 _addedValue) public returns (bool){
        allowed[msg.sender][_spender] = (allowed[msg.sender][_spender].add(_addedValue));
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint256 _subtractedValue) public returns (bool){
        uint256 oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue >= oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
}

contract Ownable {
    address public owner;

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

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

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

    function renounceOwnership() public onlyOwner {
        emit OwnershipRenounced(owner);
        owner = address(0);
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        _transferOwnership(_newOwner);
    }

    function _transferOwnership(address _newOwner) internal {
        require(_newOwner != address(0));
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }
}

contract MintableToken is StandardToken, Ownable {
    event Mint(address indexed to, uint256 amount);
    event MintFinished();

    bool public mintingFinished = false;

    modifier canMint() {
        require(!mintingFinished);
        _;
    }

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

    function mint(address _to, uint256 _amount) public hasMintPermission canMint returns (bool){
        totalSupply_ = totalSupply_.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Mint(_to, _amount);
        emit Transfer(address(0), _to, _amount);
        return true;
    }

    function finishMinting() public onlyOwner canMint returns (bool) {
        mintingFinished = true;
        emit MintFinished();
        return true;
    }
}

contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = false;

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

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

    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

    function unpause() public onlyOwner whenPaused {
        paused = false;
        emit Unpause();
    }
}

contract PausableToken is StandardToken, 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 increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool success){
        return super.increaseApproval(_spender, _addedValue);
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool success){
        return super.decreaseApproval(_spender, _subtractedValue);
    }
}

contract Claimable is Ownable {
    address public pendingOwner;

    modifier onlyPendingOwner() {
        require(msg.sender == pendingOwner);
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        pendingOwner = newOwner;
    }

    function claimOwnership() public onlyPendingOwner {
        emit OwnershipTransferred(owner, pendingOwner);
        owner = pendingOwner;
        pendingOwner = address(0);
    }
}

library SafeERC20 {
    function safeTransfer(ERC20Basic _token, address _to, uint256 _value) internal {
        require(_token.transfer(_to, _value));
    }

    function safeTransferFrom(ERC20 _token, address _from, address _to, uint256 _value) internal {
        require(_token.transferFrom(_from, _to, _value));
    }

    function safeApprove(ERC20 _token, address _spender, uint256 _value) internal {
        require(_token.approve(_spender, _value));
    }
}

contract CanReclaimToken is Ownable {
    using SafeERC20 for ERC20Basic;

    function reclaimToken(ERC20Basic _token) external onlyOwner {
        uint256 balance = _token.balanceOf(address(this));
        _token.safeTransfer(owner, balance);
    }
}

//Aom token
contract AOM is StandardToken, MintableToken, PausableToken, CanReclaimToken, Claimable {

    string public name = "A lot of money";
    string public symbol = "AOM";
    uint8 public decimals = 18;

    constructor() public {
        setAddressInitValue(0x8D3d68C945309c37cF2229a76015CBEE616CCB53, 84042000e18, 491322e18, false);
        setAddressInitValue(0x396811e07211e4A241fC7F04023A3Bc1ad0F4Ba6, 62790000e18, 367080e18, false);
        setAddressInitValue(0x65FB99A819EF06949F6E910Fe70FE3cA28181F3b, 42021000e18, 245661e18, false);
        setAddressInitValue(0x6d5d7781D320f2550C70bE1f9F93e2590201f1f0, 21010500e18, 122830e18, false);
        setAddressInitValue(0x385A42aA7426ff5FE3649a2e843De6A5920F5825, 15818250e18, 92476e18, false);
        setAddressInitValue(0x43bF99849fDFc48CD0152Cf79DaBB05795606fF9, 15818250e18, 92476e18, false);

        setAddressInitValue(0xF6B8A480196363Bde2395851c7764D6B5B361963, 199500000e18, 404115e18, false);

        setAddressInitValue(0x8338f947274F5eD84D69D49Ab03FB949225B63f0, 125832000e18, 1035694e18, true);
        setAddressInitValue(0x4bc3D53f8DFd969293DF00B97b2beF3C70D46471, 84084000e18, 692076e18, true);
        setAddressInitValue(0x2f5DA0660dD59e3Afc1292201C2d1c4e403b5Cad, 84084000e18, 692076e18, true);

        balances[0x0fa82DDD35E88E6d154aa0a31fB30E2B1ca0D161] = 21000000e18;
        emit Transfer(address(0), 0x0fa82DDD35E88E6d154aa0a31fB30E2B1ca0D161, 21000000e18);

        balances[msg.sender] = balances[msg.sender].add(1344000000e18);
        emit Transfer(address(0), msg.sender, 1344000000e18);
    }

    function setReleaseScale(address _adr, uint256 _scaleValue) public onlyOwner returns (bool) {
        releaseScale[_adr] = _scaleValue;
        return true;
    }

    function finishMinting() public onlyOwner returns (bool) {
        return false;
    }

    function renounceOwnership() public onlyOwner {
        revert("renouncing ownership is blocked");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getCurrentBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract ERC20Basic","name":"_token","type":"address"}],"name":"reclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"uint256","name":"_scaleValue","type":"uint256"}],"name":"setReleaseScale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526b06c9144c1c690d4cb40000006007556000600960146101000a81548160ff0219169083151502179055506000600960156101000a81548160ff0219169083151502179055506040518060400160405280600e81526020017f41206c6f74206f66206d6f6e6579000000000000000000000000000000000000815250600b9080519060200190620000979291906200081a565b506040518060400160405280600381526020017f414f4d0000000000000000000000000000000000000000000000000000000000815250600c9080519060200190620000e59291906200081a565b506012600d60006101000a81548160ff021916908360ff1602179055503480156200010f57600080fd5b5033600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200018f738d3d68c945309c37cf2229a76015cbee616ccb536a458495f2f1c06f5a40000069680a9e76187a88a800006000620005c260201b60201c565b620001cd73396811e07211e4a241fc7f04023a3bc1ad0f4ba66a33f04cb873e229ffc00000694dbb725936ce76a000006000620005c260201b60201c565b6200020b7365fb99a819ef06949f6e910fe70fe3ca28181f3b6a22c24af978e037ad2000006934054f3b0c3d445400006000620005c260201b60201c565b62000249736d5d7781d320f2550c70be1f9f93e2590201f1f06a1161257cbc701bd6900000691a02a0ad2ac4ce7800006000620005c260201b60201c565b6200028773385a42aa7426ff5fe3649a2e843de6a5920f58256a0d15a50cfdaf9f41e80000691395224e29273f7000006000620005c260201b60201c565b620002c57343bf99849fdfc48cd0152cf79dabb05795606ff96a0d15a50cfdaf9f41e80000691395224e29273f7000006000620005c260201b60201c565b6200030373f6b8a480196363bde2395851c7764d6b5b3619636aa505c4aba8b32ef78000006955931e384ef7866c00006000620005c260201b60201c565b62000341738338f947274f5ed84d69d49ab03fb949225b63f06a6815f6636ed31b2500000069db511590da02d9f800006001620005c260201b60201c565b6200037f734bc3d53f8dfd969293df00b97b2bef3c70d464716a458d7ac60842e5e080000069928d83dff8337a3000006001620005c260201b60201c565b620003bd732f5da0660dd59e3afc1292201c2d1c4e403b5cad6a458d7ac60842e5e080000069928d83dff8337a3000006001620005c260201b60201c565b6a115eec47f6cf7e35000000600080730fa82ddd35e88e6d154aa0a31fb30e2b1ca0d16173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550730fa82ddd35e88e6d154aa0a31fb30e2b1ca0d16173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a115eec47f6cf7e350000006040518082815260200191505060405180910390a3620005086b0457bb11fdb3df8d400000006000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620007ff60201b62001e431790919060201c565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b0457bb11fdb3df8d400000006040518082815260200191505060405180910390a3620008c9565b6200061a836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620007ff60201b62001e431790919060201c565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555042600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b60008183019050828110156200081157fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200085d57805160ff19168380011785556200088e565b828001600101855582156200088e579182015b828111156200088d57825182559160200191906001019062000870565b5b5090506200089d9190620008a1565b5090565b620008c691905b80821115620008c2576000816000905550600101620008a8565b5090565b90565b61282880620008d96000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80635c975abb116100de5780638da5cb5b11610097578063d73dd62311610071578063d73dd62314610710578063dd62ed3e14610776578063e30c3978146107ee578063f2fde38b1461083857610173565b80638da5cb5b146105dd57806395d89b4114610627578063a9059cbb146106aa57610173565b80635c975abb146104c757806366188463146104e957806370a082311461054f578063715018a6146105a75780637d64bcb4146105b15780638456cb59146105d357610173565b8063313ce56711610130578063313ce5671461036b5780633f4ba83a1461038f578063401374fb1461039957806340c10f19146103ff578063440277e8146104655780634e71e0c8146104bd57610173565b806305d2035b1461017857806306fdde031461019a578063095ea7b31461021d57806317ffc3201461028357806318160ddd146102c757806323b872dd146102e5575b600080fd5b61018061087c565b604051808215151515815260200191505060405180910390f35b6101a261088f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e25780820151818401526020810190506101c7565b50505050905090810190601f16801561020f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102696004803603604081101561023357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092d565b604051808215151515815260200191505060405180910390f35b6102c56004803603602081101561029957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061095b565b005b6102cf610ac2565b6040518082815260200191505060405180910390f35b610351600480360360608110156102fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610acc565b604051808215151515815260200191505060405180910390f35b610373610afc565b604051808260ff1660ff16815260200191505060405180910390f35b610397610b0f565b005b6103e5600480360360408110156103af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcb565b604051808215151515815260200191505060405180910390f35b61044b6004803603604081101561041557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c75565b604051808215151515815260200191505060405180910390f35b6104a76004803603602081101561047b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e57565b6040518082815260200191505060405180910390f35b6104c5610fc2565b005b6104cf611161565b604051808215151515815260200191505060405180910390f35b610535600480360360408110156104ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611174565b604051808215151515815260200191505060405180910390f35b6105916004803603602081101561056557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111a2565b6040518082815260200191505060405180910390f35b6105af6111ea565b005b6105b96112b2565b604051808215151515815260200191505060405180910390f35b6105db611315565b005b6105e56113d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61062f6113f8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066f578082015181840152602081019050610654565b50505050905090810190601f16801561069c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106f6600480360360408110156106c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611496565b604051808215151515815260200191505060405180910390f35b61075c6004803603604081101561072657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114c4565b604051808215151515815260200191505060405180910390f35b6107d86004803603604081101561078c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114f2565b6040518082815260200191505060405180910390f35b6107f6611579565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61087a6004803603602081101561084e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061159f565b005b600960149054906101000a900460ff1681565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109255780601f106108fa57610100808354040283529160200191610925565b820191906000526020600020905b81548152906001019060200180831161090857829003601f168201915b505050505081565b6000600960159054906101000a900460ff161561094957600080fd5b610953838361163d565b905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109b557600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d6020811015610a5e57600080fd5b81019080805190602001909291905050509050610abe600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff1661172f9092919063ffffffff16565b5050565b6000600754905090565b6000600960159054906101000a900460ff1615610ae857600080fd5b610af38484846117ff565b90509392505050565b600d60009054906101000a900460ff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b6957600080fd5b600960159054906101000a900460ff16610b8257600080fd5b6000600960156101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c2757600080fd5b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cd157600080fd5b600960149054906101000a900460ff1615610ceb57600080fd5b610d0082600754611e4390919063ffffffff16565b600781905550610d57826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080610f12600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0462093a80610ef6600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e5d90919063ffffffff16565b611e7490919063ffffffff16565b611e8890919063ffffffff16565b9050610f66600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e4390919063ffffffff16565b9050610fba600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e5d90919063ffffffff16565b915050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461101c57600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600960159054906101000a900460ff1681565b6000600960159054906101000a900460ff161561119057600080fd5b61119a8383611ebc565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461124457600080fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f72656e6f756e63696e67206f776e65727368697020697320626c6f636b65640081525060200191505060405180910390fd5b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461130e57600080fd5b6000905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461136f57600080fd5b600960159054906101000a900460ff161561138957600080fd5b6001600960156101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561148e5780601f106114635761010080835404028352916020019161148e565b820191906000526020600020905b81548152906001019060200180831161147157829003601f168201915b505050505081565b6000600960159054906101000a900460ff16156114b257600080fd5b6114bc838361214c565b905092915050565b6000600960159054906101000a900460ff16156114e057600080fd5b6114ea83836125f7565b905092915050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115f957600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117b657600080fd5b505af11580156117ca573d6000803e3d6000fd5b505050506040513d60208110156117e057600080fd5b81019080805190602001909291905050506117fa57600080fd5b505050565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561184c57600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156118d557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561190f57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ab657600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a055762ed4e00600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401421015611a0457600080fd5b5b6000611a1085610e57565b905080831115611a1f57600080fd5b611a7183600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b611b07826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5d90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b9a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c6b82600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5d90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e3857611df482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600190509392505050565b6000818301905082811015611e5457fe5b80905092915050565b600082821115611e6957fe5b818303905092915050565b6000818381611e7f57fe5b04905092915050565b600080831415611e9b5760009050611eb6565b818302905081838281611eaa57fe5b0414611eb257fe5b8090505b92915050565b600080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310611fcc576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612060565b611fdf8382611e5d90919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561219957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121d357600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561237a57600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122c95762ed4e00600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054014210156122c857600080fd5b5b60006122d433610e57565b9050808311156122e357600080fd5b61233583600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b6123cb826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5d90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061245e826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125ed576125a982600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001905092915050565b600061268882600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509291505056fea265627a7a7231582081e46602b8c982192d8701f0d4b8badb8ce23475c1c66cbcbf5d80f71417552b64736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c80635c975abb116100de5780638da5cb5b11610097578063d73dd62311610071578063d73dd62314610710578063dd62ed3e14610776578063e30c3978146107ee578063f2fde38b1461083857610173565b80638da5cb5b146105dd57806395d89b4114610627578063a9059cbb146106aa57610173565b80635c975abb146104c757806366188463146104e957806370a082311461054f578063715018a6146105a75780637d64bcb4146105b15780638456cb59146105d357610173565b8063313ce56711610130578063313ce5671461036b5780633f4ba83a1461038f578063401374fb1461039957806340c10f19146103ff578063440277e8146104655780634e71e0c8146104bd57610173565b806305d2035b1461017857806306fdde031461019a578063095ea7b31461021d57806317ffc3201461028357806318160ddd146102c757806323b872dd146102e5575b600080fd5b61018061087c565b604051808215151515815260200191505060405180910390f35b6101a261088f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e25780820151818401526020810190506101c7565b50505050905090810190601f16801561020f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102696004803603604081101561023357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092d565b604051808215151515815260200191505060405180910390f35b6102c56004803603602081101561029957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061095b565b005b6102cf610ac2565b6040518082815260200191505060405180910390f35b610351600480360360608110156102fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610acc565b604051808215151515815260200191505060405180910390f35b610373610afc565b604051808260ff1660ff16815260200191505060405180910390f35b610397610b0f565b005b6103e5600480360360408110156103af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcb565b604051808215151515815260200191505060405180910390f35b61044b6004803603604081101561041557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c75565b604051808215151515815260200191505060405180910390f35b6104a76004803603602081101561047b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e57565b6040518082815260200191505060405180910390f35b6104c5610fc2565b005b6104cf611161565b604051808215151515815260200191505060405180910390f35b610535600480360360408110156104ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611174565b604051808215151515815260200191505060405180910390f35b6105916004803603602081101561056557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111a2565b6040518082815260200191505060405180910390f35b6105af6111ea565b005b6105b96112b2565b604051808215151515815260200191505060405180910390f35b6105db611315565b005b6105e56113d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61062f6113f8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066f578082015181840152602081019050610654565b50505050905090810190601f16801561069c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106f6600480360360408110156106c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611496565b604051808215151515815260200191505060405180910390f35b61075c6004803603604081101561072657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114c4565b604051808215151515815260200191505060405180910390f35b6107d86004803603604081101561078c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114f2565b6040518082815260200191505060405180910390f35b6107f6611579565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61087a6004803603602081101561084e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061159f565b005b600960149054906101000a900460ff1681565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109255780601f106108fa57610100808354040283529160200191610925565b820191906000526020600020905b81548152906001019060200180831161090857829003601f168201915b505050505081565b6000600960159054906101000a900460ff161561094957600080fd5b610953838361163d565b905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109b557600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d6020811015610a5e57600080fd5b81019080805190602001909291905050509050610abe600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff1661172f9092919063ffffffff16565b5050565b6000600754905090565b6000600960159054906101000a900460ff1615610ae857600080fd5b610af38484846117ff565b90509392505050565b600d60009054906101000a900460ff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b6957600080fd5b600960159054906101000a900460ff16610b8257600080fd5b6000600960156101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c2757600080fd5b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cd157600080fd5b600960149054906101000a900460ff1615610ceb57600080fd5b610d0082600754611e4390919063ffffffff16565b600781905550610d57826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080610f12600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0462093a80610ef6600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e5d90919063ffffffff16565b611e7490919063ffffffff16565b611e8890919063ffffffff16565b9050610f66600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e4390919063ffffffff16565b9050610fba600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e5d90919063ffffffff16565b915050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461101c57600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600960159054906101000a900460ff1681565b6000600960159054906101000a900460ff161561119057600080fd5b61119a8383611ebc565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461124457600080fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f72656e6f756e63696e67206f776e65727368697020697320626c6f636b65640081525060200191505060405180910390fd5b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461130e57600080fd5b6000905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461136f57600080fd5b600960159054906101000a900460ff161561138957600080fd5b6001600960156101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561148e5780601f106114635761010080835404028352916020019161148e565b820191906000526020600020905b81548152906001019060200180831161147157829003601f168201915b505050505081565b6000600960159054906101000a900460ff16156114b257600080fd5b6114bc838361214c565b905092915050565b6000600960159054906101000a900460ff16156114e057600080fd5b6114ea83836125f7565b905092915050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115f957600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117b657600080fd5b505af11580156117ca573d6000803e3d6000fd5b505050506040513d60208110156117e057600080fd5b81019080805190602001909291905050506117fa57600080fd5b505050565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561184c57600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156118d557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561190f57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ab657600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a055762ed4e00600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401421015611a0457600080fd5b5b6000611a1085610e57565b905080831115611a1f57600080fd5b611a7183600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b611b07826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5d90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b9a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c6b82600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5d90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e3857611df482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600190509392505050565b6000818301905082811015611e5457fe5b80905092915050565b600082821115611e6957fe5b818303905092915050565b6000818381611e7f57fe5b04905092915050565b600080831415611e9b5760009050611eb6565b818302905081838281611eaa57fe5b0414611eb257fe5b8090505b92915050565b600080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310611fcc576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612060565b611fdf8382611e5d90919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561219957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121d357600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561237a57600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122c95762ed4e00600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054014210156122c857600080fd5b5b60006122d433610e57565b9050808311156122e357600080fd5b61233583600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b6123cb826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5d90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061245e826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125ed576125a982600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001905092915050565b600061268882600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4390919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509291505056fea265627a7a7231582081e46602b8c982192d8701f0d4b8badb8ce23475c1c66cbcbf5d80f71417552b64736f6c63430005110032

Deployed Bytecode Sourcemap

10202:1988:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10202:1988:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6867:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10299: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;10299:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8441:143;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8441:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10008:174;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10008:174:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1549:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8268:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8268:165:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10378:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7954:105;;;:::i;:::-;;11812:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11812:165:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7090:309;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7090:309:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2547:285;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2547:285:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9256:182;;;:::i;:::-;;7652:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8776:186;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8776:186:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2840:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2840:107:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12081:106;;;:::i;:::-;;11985:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7843:103;;;:::i;:::-;;5945:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10343:28;;;:::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;10343:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8125:135;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8125:135:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8592:176;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8592:176:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5025:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5025:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9006:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9144:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9144:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6867:35;;;;;;;;;;;;;:::o;10299:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8441:143::-;8522:4;7732:6;;;;;;;;;;;7731:7;7723:16;;;;;;8545:31;8559:8;8569:6;8545:13;:31::i;:::-;8538:38;;8441:143;;;;:::o;10008:174::-;6248:5;;;;;;;;;;;6234:19;;:10;:19;;;6226:28;;;;;;10079:15;10097:6;:16;;;10122:4;10097:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10097:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10097:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10097:31:0;;;;;;;;;;;;;;;;10079:49;;10139:35;10159:5;;;;;;;;;;;10166:7;10139:6;:19;;;;:35;;;;;:::i;:::-;6265:1;10008:174;:::o;1549:91::-;1593:7;1620:12;;1613:19;;1549:91;:::o;8268:165::-;8364:4;7732:6;;;;;;;;;;;7731:7;7723:16;;;;;;8387:38;8406:5;8413:3;8418:6;8387:18;:38::i;:::-;8380:45;;8268:165;;;;;:::o;10378:26::-;;;;;;;;;;;;;:::o;7954:105::-;6248:5;;;;;;;;;;;6234:19;;:10;:19;;;6226:28;;;;;;7808:6;;;;;;;;;;;7800:15;;;;;;8021:5;8012:6;;:14;;;;;;;;;;;;;;;;;;8042:9;;;;;;;;;;7954:105::o;11812:165::-;11898:4;6248:5;;;;;;;;;;;6234:19;;:10;:19;;;6226:28;;;;;;11936:11;11915:12;:18;11928:4;11915:18;;;;;;;;;;;;;;;:32;;;;11965:4;11958:11;;11812:165;;;;:::o;7090:309::-;7176:4;7056:5;;;;;;;;;;;7042:19;;:10;:19;;;7034:28;;;;;;6950:15;;;;;;;;;;;6949:16;6941:25;;;;;;7207;7224:7;7207:12;;:16;;:25;;;;:::i;:::-;7192:12;:40;;;;7259:26;7277:7;7259:8;:13;7268:3;7259:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;7243:8;:13;7252:3;7243:13;;;;;;;;;;;;;;;:42;;;;7306:3;7301:18;;;7311:7;7301:18;;;;;;;;;;;;;;;;;;7356:3;7335:34;;7352:1;7335:34;;;7361:7;7335:34;;;;;;;;;;;;;;;;;;7387:4;7380:11;;7090:309;;;;:::o;2547:285::-;2611:7;2631:18;2652:69;2700:12;:20;2713:6;2700:20;;;;;;;;;;;;;;;;2652:43;2687:7;2652:30;2660:13;:21;2674:6;2660:21;;;;;;;;;;;;;;;;2652:3;:7;;:30;;;;:::i;:::-;:34;;:43;;;;:::i;:::-;:47;;:69;;;;:::i;:::-;2631:90;;2745:30;2760:6;:14;2767:6;2760:14;;;;;;;;;;;;;;;;2745:10;:14;;:30;;;;:::i;:::-;2732:43;;2793:31;2808:7;:15;2816:6;2808:15;;;;;;;;;;;;;;;;2793:10;:14;;:31;;;;:::i;:::-;2786:38;;;2547:285;;;:::o;9256:182::-;9103:12;;;;;;;;;;;9089:26;;:10;:26;;;9081:35;;;;;;9350:12;;;;;;;;;;;9322:41;;9343:5;;;;;;;;;;;9322:41;;;;;;;;;;;;9382:12;;;;;;;;;;;9374:5;;:20;;;;;;;;;;;;;;;;;;9428:1;9405:12;;:25;;;;;;;;;;;;;;;;;;9256:182::o;7652:26::-;;;;;;;;;;;;;:::o;8776:186::-;8873:12;7732:6;;;;;;;;;;;7731:7;7723:16;;;;;;8904:50;8927:8;8937:16;8904:22;:50::i;:::-;8897:57;;8776:186;;;;:::o;2840:107::-;2896:7;2923:8;:16;2932:6;2923:16;;;;;;;;;;;;;;;;2916:23;;2840:107;;;:::o;12081:106::-;6248:5;;;;;;;;;;;6234:19;;:10;:19;;;6226:28;;;;;;12138:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11985:88;12036:4;6248:5;;;;;;;;;;;6234:19;;:10;:19;;;6226:28;;;;;;12060:5;12053:12;;11985:88;:::o;7843:103::-;6248:5;;;;;;;;;;;6234:19;;:10;:19;;;6226:28;;;;;;7732:6;;;;;;;;;;;7731:7;7723:16;;;;;;7911:4;7902:6;;:13;;;;;;;;;;;;;;;;;;7931:7;;;;;;;;;;7843:103::o;5945:20::-;;;;;;;;;;;;;:::o;10343:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8125:135::-;8202:4;7732:6;;;;;;;;;;;7731:7;7723:16;;;;;;8225:27;8240:3;8245:6;8225:14;:27::i;:::-;8218:34;;8125:135;;;;:::o;8592:176::-;8684:12;7732:6;;;;;;;;;;;7731:7;7723:16;;;;;;8715:45;8738:8;8748:11;8715:22;:45::i;:::-;8708:52;;8592:176;;;;:::o;5025:133::-;5099:7;5125;:15;5133:6;5125:15;;;;;;;;;;;;;;;:25;5141:8;5125:25;;;;;;;;;;;;;;;;5118:32;;5025:133;;;;:::o;9006:27::-;;;;;;;;;;;;;:::o;9144:104::-;6248:5;;;;;;;;;;;6234:19;;:10;:19;;;6226:28;;;;;;9232:8;9217:12;;:23;;;;;;;;;;;;;;;;;;9144:104;:::o;4811:206::-;4878:4;4927:6;4895:7;:19;4903:10;4895:19;;;;;;;;;;;;;;;:29;4915:8;4895:29;;;;;;;;;;;;;;;:38;;;;4970:8;4949:38;;4958:10;4949:38;;;4980:6;4949:38;;;;;;;;;;;;;;;;;;5005:4;4998:11;;4811:206;;;;:::o;9470:135::-;9568:6;:15;;;9584:3;9589:6;9568:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9568:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9568:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9568:28:0;;;;;;;;;;;;;;;;9560:37;;;;;;9470:135;;;:::o;3879:924::-;3961:4;3995:8;:15;4004:5;3995:15;;;;;;;;;;;;;;;;3985:6;:25;;3977:34;;;;;;4040:7;:14;4048:5;4040:14;;;;;;;;;;;;;;;:26;4055:10;4040:26;;;;;;;;;;;;;;;;4030:6;:36;;4022:45;;;;;;4101:1;4086:17;;:3;:17;;;;4078:26;;;;;;4120:13;:20;4134:5;4120:20;;;;;;;;;;;;;;;;;;;;;;;;;4117:325;;;4159:20;:27;4180:5;4159:27;;;;;;;;;;;;;;;;;;;;;;;;;4156:115;;;4245:8;4222:13;:20;4236:5;4222:20;;;;;;;;;;;;;;;;:31;4214:3;:40;;4206:49;;;;;;4156:115;4287:16;4306:24;4324:5;4306:17;:24::i;:::-;4287:43;;4363:8;4353:6;:18;;4345:27;;;;;;4404:26;4423:6;4404:7;:14;4412:5;4404:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;4387:7;:14;4395:5;4387:14;;;;;;;;;;;;;;;:43;;;;4117:325;;4472:27;4492:6;4472:8;:15;4481:5;4472:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4454:8;:15;4463:5;4454:15;;;;;;;;;;;;;;;:45;;;;4526:25;4544:6;4526:8;:13;4535:3;4526:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4510:8;:13;4519:3;4510:13;;;;;;;;;;;;;;;:41;;;;4591:38;4622:6;4591:7;:14;4599:5;4591:14;;;;;;;;;;;;;;;:26;4606:10;4591:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;4562:7;:14;4570:5;4562:14;;;;;;;;;;;;;;;:26;4577:10;4562:26;;;;;;;;;;;;;;;:67;;;;4661:3;4645:28;;4654:5;4645:28;;;4666:6;4645:28;;;;;;;;;;;;;;;;;;4689:13;:18;4703:3;4689:18;;;;;;;;;;;;;;;;;;;;;;;;;4686:86;;;4737:23;4753:6;4737;:11;4744:3;4737:11;;;;;;;;;;;;;;;;:15;;:23;;;;:::i;:::-;4723:6;:11;4730:3;4723:11;;;;;;;;;;;;;;;:37;;;;4686:86;4791:4;4784:11;;3879:924;;;;;:::o;518:146::-;578:9;609:2;604;:7;600:11;;634:2;629:1;:7;;622:15;;;;655:1;648:8;;518:146;;;;:::o;381:129::-;441:7;474:2;468;:8;;461:16;;;;500:2;495;:7;488:14;;381:129;;;;:::o;271:102::-;331:7;363:2;358;:7;;;;;;351:14;;271:102;;;;:::o;52:211::-;112:9;144:1;138:2;:7;134:48;;;169:1;162:8;;;;134:48;203:2;198;:7;194:11;;233:2;227;223:1;:6;;;;;;:12;216:20;;;;254:1;247:8;;52:211;;;;;:::o;5458:456::-;5544:4;5560:16;5579:7;:19;5587:10;5579:19;;;;;;;;;;;;;;;:29;5599:8;5579:29;;;;;;;;;;;;;;;;5560:48;;5643:8;5623:16;:28;5619:189;;5700:1;5668:7;:19;5676:10;5668:19;;;;;;;;;;;;;;;:29;5688:8;5668:29;;;;;;;;;;;;;;;:33;;;;5619:189;;;5766:30;5779:16;5766:8;:12;;:30;;;;:::i;:::-;5734:7;:19;5742:10;5734:19;;;;;;;;;;;;;;;:29;5754:8;5734:29;;;;;;;;;;;;;;;:62;;;;5619:189;5844:8;5823:61;;5832:10;5823:61;;;5854:7;:19;5862:10;5854:19;;;;;;;;;;;;;;;:29;5874:8;5854:29;;;;;;;;;;;;;;;;5823:61;;;;;;;;;;;;;;;;;;5902:4;5895:11;;;5458:456;;;;:::o;1648:891::-;1711:4;1746:8;:20;1755:10;1746:20;;;;;;;;;;;;;;;;1736:6;:30;;1728:39;;;;;;1801:1;1786:17;;:3;:17;;;;1778:26;;;;;;1893:13;:25;1907:10;1893:25;;;;;;;;;;;;;;;;;;;;;;;;;1890:353;;;1937:20;:32;1958:10;1937:32;;;;;;;;;;;;;;;;;;;;;;;;;1934:125;;;2033:8;2005:13;:25;2019:10;2005:25;;;;;;;;;;;;;;;;:36;1997:3;:45;;1989:54;;;;;;1934:125;2073:16;2092:29;2110:10;2092:17;:29::i;:::-;2073:48;;2154:8;2144:6;:18;;2136:27;;;;;;2200:31;2224:6;2200:7;:19;2208:10;2200:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;2178:7;:19;2186:10;2178:19;;;;;;;;;;;;;;;:53;;;;1890:353;;2278:32;2303:6;2278:8;:20;2287:10;2278:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;2255:8;:20;2264:10;2255:20;;;;;;;;;;;;;;;:55;;;;2337:25;2355:6;2337:8;:13;2346:3;2337:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;2321:8;:13;2330:3;2321:13;;;;;;;;;;;;;;;:41;;;;2399:3;2378:33;;2387:10;2378:33;;;2404:6;2378:33;;;;;;;;;;;;;;;;;;2427:13;:18;2441:3;2427:18;;;;;;;;;;;;;;;;;;;;;;;;;2424:86;;;2475:23;2491:6;2475;:11;2482:3;2475:11;;;;;;;;;;;;;;;;:15;;:23;;;;:::i;:::-;2461:6;:11;2468:3;2461:11;;;;;;;;;;;;;;;:37;;;;2424:86;2527:4;2520:11;;1648:891;;;;:::o;5166:284::-;5247:4;5296:46;5330:11;5296:7;:19;5304:10;5296:19;;;;;;;;;;;;;;;:29;5316:8;5296:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;5263:7;:19;5271:10;5263:19;;;;;;;;;;;;;;;:29;5283:8;5263:29;;;;;;;;;;;;;;;:80;;;;5380:8;5359:61;;5368:10;5359:61;;;5390:7;:19;5398:10;5390:19;;;;;;;;;;;;;;;:29;5410:8;5390:29;;;;;;;;;;;;;;;;5359:61;;;;;;;;;;;;;;;;;;5438:4;5431:11;;5166:284;;;;:::o

Swarm Source

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