Token GOOREO

 

Overview [ERC-20]

Max Total Supply:
1,000,000,000 GOOREO

Holders:
503 (0.00%)

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

Gooreo is a Decentralized Career Platform

ICO Information

ICO Start Date : Mar 15,2 019 
ICO End Date : May 01,2 019
ICO Price  : $ 0.01 | 0.00005 ETH
Country : Turkey

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GOOREO

Compiler Version
v0.4.22+commit.4cb486ee

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-06-03
*/

pragma solidity >=0.4.22 <0.6.0;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // 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);
        return c;
    }
}



/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization
 *      control functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;

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

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the
     *      sender account.
     */
    function Ownable() public {
        owner = msg.sender;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) onlyOwner public {
        require(newOwner != address(0));
        OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}



/**
 * @title ERC223
 * @dev ERC223 contract interface with ERC20 functions and events
 *      Fully backward compatible with ERC20
 *      Recommended implementation used at https://github.com/Dexaran/ERC223-token-standard/tree/Recommended
 */
contract ERC223 {
    uint public totalSupply;

    // ERC223 and ERC20 functions and events
    function balanceOf(address who) public view returns (uint);
    function totalSupply() public view returns (uint256 _supply);
    function transfer(address to, uint value) public returns (bool ok);
    function transfer(address to, uint value, bytes data) public returns (bool ok);
    function transfer(address to, uint value, bytes data, string customFallback) public returns (bool ok);
    event Transfer(address indexed from, address indexed to, uint value, bytes indexed data);

    // ERC223 functions
    function name() public view returns (string _name);
    function symbol() public view returns (string _symbol);
    function decimals() public view returns (uint8 _decimals);

    // ERC20 functions and events
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
    function allowance(address _owner, address _spender) public view returns (uint256 remaining);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);
}



/**
 * @title ContractReceiver
 * @dev Contract that is working with ERC223 tokens
 */
 contract ContractReceiver {

    struct TKN {
        address sender;
        uint value;
        bytes data;
        bytes4 sig;
    }

    function tokenFallback(address _from, uint _value, bytes _data) public pure {
        TKN memory tkn;
        tkn.sender = _from;
        tkn.value = _value;
        tkn.data = _data;
        uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24);
        tkn.sig = bytes4(u);

        /*
         * tkn variable is analogue of msg variable of Ether transaction
         * tkn.sender is person who initiated this token transaction   (analogue of msg.sender)
         * tkn.value the number of tokens that were sent   (analogue of msg.value)
         * tkn.data is data of token transaction   (analogue of msg.data)
         * tkn.sig is 4 bytes signature of function if data of token transaction is a function execution
         */
    }
}




/**
 * @title GOOREO
 * @author BASSEL
 * @dev GOOREO is an ERC223 Token with ERC20 functions and events
 *      Fully backward compatible with ERC20
 */
contract GOOREO is ERC223, Ownable {
    using SafeMath for uint256;

    string public name = "GOOREO";
    string public symbol = "GOOREO";
    string public constant AAcontributors = "BASSEL";
    uint8 public decimals = 18;
    uint256 public totalSupply = 1e9 * 1e18;
    uint256 public distributeAmount = 0;
    bool public mintingFinished = true;

    address public founder = 0x6dba8b5a592e7eFD2904440664609f64f9Ee107C;
    address public developingFund = 0x3A21c8d4f3f9C9FD116Ca9ad9c684bD549E76692;
    address public activityFunds = 0xFFc6AB72FD5ba166a4E81dDa2e7d20892aC6d0bB;
    address public lockedFundsForthefuture = 0xE51E486B6493C77c372F477d501b009280e8253a;

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping (address => uint256)) public allowance;
    mapping (address => bool) public frozenAccount;
    mapping (address => uint256) public unlockUnixTime;

    event FrozenFunds(address indexed target, bool frozen);
    event LockedFunds(address indexed target, uint256 locked);
    event Burn(address indexed from, uint256 amount);
    event Mint(address indexed to, uint256 amount);
    event MintFinished();


    /**
     * @dev Constructor is called only once and can not be called again
     */
    function GOOREO() public {
        owner = founder;
        balanceOf[founder] = totalSupply.mul(25).div(100);
        balanceOf[developingFund] = totalSupply.mul(55).div(100);
        balanceOf[activityFunds] = totalSupply.mul(10).div(100);
        balanceOf[lockedFundsForthefuture] = totalSupply.mul(10).div(100);
    }


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

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

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

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

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


    /**
     * @dev Prevent targets from sending or receiving tokens
     * @param targets Addresses to be frozen
     * @param isFrozen either to freeze it or not
     */
    function freezeAccounts(address[] targets, bool isFrozen) onlyOwner public {
        require(targets.length > 0);

        for (uint j = 0; j < targets.length; j++) {
            require(targets[j] != 0x0);
            frozenAccount[targets[j]] = isFrozen;
            FrozenFunds(targets[j], isFrozen);
        }
    }

    /**
     * @dev Prevent targets from sending or receiving tokens by setting Unix times
     * @param targets Addresses to be locked funds
     * @param unixTimes Unix times when locking up will be finished
     */
    function lockupAccounts(address[] targets, uint[] unixTimes) onlyOwner public {
        require(targets.length > 0
                && targets.length == unixTimes.length);

        for(uint j = 0; j < targets.length; j++){
            require(unlockUnixTime[targets[j]] < unixTimes[j]);
            unlockUnixTime[targets[j]] = unixTimes[j];
            LockedFunds(targets[j], unixTimes[j]);
        }
    }


    /**
     * @dev Function that is called when a user or another contract wants to transfer funds
     */
    function transfer(address _to, uint _value, bytes _data, string _custom_fallback) public returns (bool success) {
        require(_value > 0
                && frozenAccount[msg.sender] == false
                && frozenAccount[_to] == false
                && now > unlockUnixTime[msg.sender]
                && now > unlockUnixTime[_to]);

        if (isContract(_to)) {
            require(balanceOf[msg.sender] >= _value);
            balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
            balanceOf[_to] = balanceOf[_to].add(_value);
            assert(_to.call.value(0)(bytes4(keccak256(_custom_fallback)), msg.sender, _value, _data));
            Transfer(msg.sender, _to, _value, _data);
            Transfer(msg.sender, _to, _value);
            return true;
        } else {
            return transferToAddress(_to, _value, _data);
        }
    }

    function transfer(address _to, uint _value, bytes _data) public  returns (bool success) {
        require(_value > 0
                && frozenAccount[msg.sender] == false
                && frozenAccount[_to] == false
                && now > unlockUnixTime[msg.sender]
                && now > unlockUnixTime[_to]);

        if (isContract(_to)) {
            return transferToContract(_to, _value, _data);
        } else {
            return transferToAddress(_to, _value, _data);
        }
    }

    /**
     * @dev Standard function transfer similar to ERC20 transfer with no _data
     *      Added due to backwards compatibility reasons
     */
    function transfer(address _to, uint _value) public returns (bool success) {
        require(_value > 0
                && frozenAccount[msg.sender] == false
                && frozenAccount[_to] == false
                && now > unlockUnixTime[msg.sender]
                && now > unlockUnixTime[_to]);

        bytes memory empty;
        if (isContract(_to)) {
            return transferToContract(_to, _value, empty);
        } else {
            return transferToAddress(_to, _value, empty);
        }
    }

    // assemble the given address bytecode. If bytecode exists then the _addr is a contract.
    function isContract(address _addr) private view returns (bool is_contract) {
        uint length;
        assembly {
            //retrieve the size of the code on target address, this needs assembly
            length := extcodesize(_addr)
        }
        return (length > 0);
    }

    // function that is called when transaction target is an address
    function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) {
        require(balanceOf[msg.sender] >= _value);
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        Transfer(msg.sender, _to, _value, _data);
        Transfer(msg.sender, _to, _value);
        return true;
    }

    // function that is called when transaction target is a contract
    function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) {
        require(balanceOf[msg.sender] >= _value);
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        ContractReceiver receiver = ContractReceiver(_to);
        receiver.tokenFallback(msg.sender, _value, _data);
        Transfer(msg.sender, _to, _value, _data);
        Transfer(msg.sender, _to, _value);
        return true;
    }



    /**
     * @dev Transfer tokens from one address to another
     *      Added due to backwards compatibility with ERC20
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint256 the amount of tokens to be transferred
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_to != address(0)
                && _value > 0
                && balanceOf[_from] >= _value
                && allowance[_from][msg.sender] >= _value
                && frozenAccount[_from] == false
                && frozenAccount[_to] == false
                && now > unlockUnixTime[_from]
                && now > unlockUnixTime[_to]);

        balanceOf[_from] = balanceOf[_from].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);
        Transfer(_from, _to, _value);
        return true;
    }

    /**
     * @dev Allows _spender to spend no more than _value tokens in your behalf
     *      Added due to backwards compatibility with ERC20
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     */
    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender
     *      Added due to backwards compatibility with ERC20
     * @param _owner address The address which owns the funds
     * @param _spender address The address which will spend the funds
     */
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowance[_owner][_spender];
    }



    /**
     * @dev Burns a specific amount of tokens.
     * @param _from The address that will burn the tokens.
     * @param _unitAmount The amount of token to be burned.
     */
    function burn(address _from, uint256 _unitAmount) onlyOwner public {
        require(_unitAmount > 0
                && balanceOf[_from] >= _unitAmount);

        balanceOf[_from] = balanceOf[_from].sub(_unitAmount);
        totalSupply = totalSupply.sub(_unitAmount);
        Burn(_from, _unitAmount);
    }


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

    /**
     * @dev Function to mint tokens
     * @param _to The address that will receive the minted tokens.
     * @param _unitAmount The amount of tokens to mint.
     */
    function mint(address _to, uint256 _unitAmount) onlyOwner canMint public returns (bool) {
        require(_unitAmount > 0);

        totalSupply = totalSupply.add(_unitAmount);
        balanceOf[_to] = balanceOf[_to].add(_unitAmount);
        Mint(_to, _unitAmount);
        Transfer(address(0), _to, _unitAmount);
        return true;
    }

    /**
     * @dev Function to stop minting new tokens.
     */
    function finishMinting() onlyOwner canMint public returns (bool) {
        mintingFinished = true;
        MintFinished();
        return true;
    }



    /**
     * @dev Function to distribute tokens to the list of addresses by the provided amount
     */
    function distributeAirdrop(address[] addresses, uint256 amount) public returns (bool) {
        require(amount > 0
                && addresses.length > 0
                && frozenAccount[msg.sender] == false
                && now > unlockUnixTime[msg.sender]);

        amount = amount.mul(1e8);
        uint256 totalAmount = amount.mul(addresses.length);
        require(balanceOf[msg.sender] >= totalAmount);

        for (uint j = 0; j < addresses.length; j++) {
            require(addresses[j] != 0x0
                    && frozenAccount[addresses[j]] == false
                    && now > unlockUnixTime[addresses[j]]);

            balanceOf[addresses[j]] = balanceOf[addresses[j]].add(amount);
            Transfer(msg.sender, addresses[j], amount);
        }
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(totalAmount);
        return true;
    }

    function distributeAirdrop(address[] addresses, uint[] amounts) public returns (bool) {
        require(addresses.length > 0
                && addresses.length == amounts.length
                && frozenAccount[msg.sender] == false
                && now > unlockUnixTime[msg.sender]);

        uint256 totalAmount = 0;

        for(uint j = 0; j < addresses.length; j++){
            require(amounts[j] > 0
                    && addresses[j] != 0x0
                    && frozenAccount[addresses[j]] == false
                    && now > unlockUnixTime[addresses[j]]);

            amounts[j] = amounts[j].mul(1e8);
            totalAmount = totalAmount.add(amounts[j]);
        }
        require(balanceOf[msg.sender] >= totalAmount);

        for (j = 0; j < addresses.length; j++) {
            balanceOf[addresses[j]] = balanceOf[addresses[j]].add(amounts[j]);
            Transfer(msg.sender, addresses[j], amounts[j]);
        }
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(totalAmount);
        return true;
    }

    /**
     * @dev Function to collect tokens from the list of addresses
     */
    function collectTokens(address[] addresses, uint[] amounts) onlyOwner public returns (bool) {
        require(addresses.length > 0
                && addresses.length == amounts.length);

        uint256 totalAmount = 0;

        for (uint j = 0; j < addresses.length; j++) {
            require(amounts[j] > 0
                    && addresses[j] != 0x0
                    && frozenAccount[addresses[j]] == false
                    && now > unlockUnixTime[addresses[j]]);

            amounts[j] = amounts[j].mul(1e8);
            require(balanceOf[addresses[j]] >= amounts[j]);
            balanceOf[addresses[j]] = balanceOf[addresses[j]].sub(amounts[j]);
            totalAmount = totalAmount.add(amounts[j]);
            Transfer(addresses[j], msg.sender, amounts[j]);
        }
        balanceOf[msg.sender] = balanceOf[msg.sender].add(totalAmount);
        return true;
    }


    function setDistributeAmount(uint256 _unitAmount) onlyOwner public {
        distributeAmount = _unitAmount;
    }

    /**
     * @dev Function to distribute tokens to the msg.sender automatically
     *      If distributeAmount is 0, this function doesn't work
     */
    function autoDistribute() payable public {
        require(distributeAmount > 0
                && balanceOf[owner] >= distributeAmount
                && frozenAccount[msg.sender] == false
                && now > unlockUnixTime[msg.sender]);
        if(msg.value > 0) owner.transfer(msg.value);

        balanceOf[owner] = balanceOf[owner].sub(distributeAmount);
        balanceOf[msg.sender] = balanceOf[msg.sender].add(distributeAmount);
        Transfer(owner, msg.sender, distributeAmount);
    }

    /**
     * @dev fallback function
     */
    function() payable public {
        autoDistribute();
     }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_unitAmount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"developingFund","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"founder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"distributeAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"AAcontributors","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"targets","type":"address[]"},{"name":"unixTimes","type":"uint256[]"}],"name":"lockupAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"activityFunds","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"distributeAirdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_unitAmount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lockedFundsForthefuture","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"autoDistribute","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"targets","type":"address[]"},{"name":"isFrozen","type":"bool"}],"name":"freezeAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"unlockUnixTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unitAmount","type":"uint256"}],"name":"setDistributeAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"distributeAirdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"collectTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"},{"name":"_custom_fallback","type":"string"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":false,"name":"locked","type":"uint256"}],"name":"LockedFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","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"},{"indexed":true,"name":"data","type":"bytes"}],"name":"Transfer","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"}]

60c0604052600660808190527f474f4f52454f000000000000000000000000000000000000000000000000000060a0908152620000409160029190620002f6565b506040805180820190915260068082527f474f4f52454f000000000000000000000000000000000000000000000000000060209092019182526200008791600391620002f6565b5060048054601260ff19918216179091556b033b2e3c9fd0803ce800000060055560006006556007805490911660011761010060a860020a031916746dba8b5a592e7efd2904440664609f64f9ee107c0017905560088054733a21c8d4f3f9c9fd116ca9ad9c684bd549e76692600160a060020a0319918216179091556009805473ffc6ab72fd5ba166a4e81dda2e7d20892ac6d0bb908316179055600a805473e51e486b6493c77c372f477d501b009280e8253a92169190911790553480156200015157600080fd5b5060018054600754600160a060020a03338116600160a060020a031993841617909216610100909104909116179055600554620001bb90606490620001a690601964010000000062002136620002a482021704565b906401000000006200254e620002de82021704565b6007546101009004600160a060020a03166000908152600b60205260409020556005546200020190606490620001a6906037640100000000620002a48102620021361704565b600854600160a060020a03166000908152600b60205260409020556005546200024290606490620001a690600a64010000000062002136620002a482021704565b600954600160a060020a03166000908152600b60205260409020556005546200028390606490620001a690600a64010000000062002136620002a482021704565b600a54600160a060020a03166000908152600b60205260409020556200039b565b600080831515620002b95760009150620002d7565b50828202828482811515620002ca57fe5b0414620002d357fe5b8091505b5092915050565b6000808284811515620002ed57fe5b04949350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200033957805160ff191683800117855562000369565b8280016001018555821562000369579182015b82811115620003695782518255916020019190600101906200034c565b50620003779291506200037b565b5090565b6200039891905b8082111562000377576000815560010162000382565b90565b6125b180620003ab6000396000f30060806040526004361061017c5763ffffffff60e060020a60003504166305d2035b811461018657806306fdde03146101af578063095ea7b31461023957806318160ddd1461025d57806323b872dd14610284578063313ce567146102ae57806340c10f19146102d95780634537b7de146102fd5780634d853ee51461032e5780634f25eced146103435780635ab892481461035857806364ddc6051461036d57806370a08231146103fb5780637d64bcb41461041c57806385a156af146104315780638da5cb5b14610446578063945946251461045b57806395d89b41146104b25780639dc29fac146104c7578063a245b774146104eb578063a8f11eb91461017c578063a9059cbb14610500578063b414d4b614610524578063be45fd6214610545578063c341b9f6146105ae578063cbbe974b14610607578063d39b1d4814610628578063dd62ed3e14610640578063dd92459414610667578063f0dc4171146106f5578063f2fde38b14610783578063f6368f8a146107a4575b61018461084b565b005b34801561019257600080fd5b5061019b6109c7565b604080519115158252519081900360200190f35b3480156101bb57600080fd5b506101c46109d0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101fe5781810151838201526020016101e6565b50505050905090810190601f16801561022b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024557600080fd5b5061019b600160a060020a0360043516602435610a63565b34801561026957600080fd5b50610272610acd565b60408051918252519081900360200190f35b34801561029057600080fd5b5061019b600160a060020a0360043581169060243516604435610ad3565b3480156102ba57600080fd5b506102c3610ce0565b6040805160ff9092168252519081900360200190f35b3480156102e557600080fd5b5061019b600160a060020a0360043516602435610ce9565b34801561030957600080fd5b50610312610ded565b60408051600160a060020a039092168252519081900360200190f35b34801561033a57600080fd5b50610312610dfc565b34801561034f57600080fd5b50610272610e10565b34801561036457600080fd5b506101c4610e16565b34801561037957600080fd5b506040805160206004803580820135838102808601850190965280855261018495369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610e4d9650505050505050565b34801561040757600080fd5b50610272600160a060020a0360043516610fb5565b34801561042857600080fd5b5061019b610fd0565b34801561043d57600080fd5b5061031261103a565b34801561045257600080fd5b50610312611049565b34801561046757600080fd5b506040805160206004803580820135838102808601850190965280855261019b9536959394602494938501929182918501908490808284375094975050933594506110589350505050565b3480156104be57600080fd5b506101c46112f6565b3480156104d357600080fd5b50610184600160a060020a0360043516602435611357565b3480156104f757600080fd5b50610312611440565b34801561050c57600080fd5b5061019b600160a060020a036004351660243561144f565b34801561053057600080fd5b5061019b600160a060020a0360043516611524565b34801561055157600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261019b948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506115399650505050505050565b3480156105ba57600080fd5b506040805160206004803580820135838102808601850190965280855261018495369593946024949385019291829185019084908082843750949750505050913515159250611604915050565b34801561061357600080fd5b50610272600160a060020a0360043516611712565b34801561063457600080fd5b50610184600435611724565b34801561064c57600080fd5b50610272600160a060020a0360043581169060243516611744565b34801561067357600080fd5b506040805160206004803580820135838102808601850190965280855261019b95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375094975061176f9650505050505050565b34801561070157600080fd5b506040805160206004803580820135838102808601850190965280855261019b95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750611a3d9650505050505050565b34801561078f57600080fd5b50610184600160a060020a0360043516611d2a565b3480156107b057600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261019b948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611dc39650505050505050565b60006006541180156108795750600654600154600160a060020a03166000908152600b602052604090205410155b801561089e5750600160a060020a0333166000908152600d602052604090205460ff16155b80156108c15750600160a060020a0333166000908152600e602052604090205442115b15156108cc57600080fd5b600034111561091057600154604051600160a060020a03909116903480156108fc02916000818181858888f1935050505015801561090e573d6000803e3d6000fd5b505b600654600154600160a060020a03166000908152600b602052604090205461093d9163ffffffff61211516565b600154600160a060020a039081166000908152600b602052604080822093909355600654339092168152919091205461097b9163ffffffff61212716565b600160a060020a033381166000818152600b60209081526040918290209490945560015460065482519081529151929493169260008051602061256683398151915292918290030190a3565b60075460ff1681565b60028054604080516020601f6000196101006001871615020190941685900493840181900481028201810190925282815260609390929091830182828015610a595780601f10610a2e57610100808354040283529160200191610a59565b820191906000526020600020905b815481529060010190602001808311610a3c57829003601f168201915b5050505050905090565b600160a060020a033381166000818152600c6020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60055490565b6000600160a060020a03831615801590610aed5750600082115b8015610b115750600160a060020a0384166000908152600b60205260409020548211155b8015610b435750600160a060020a038085166000908152600c6020908152604080832033909416835292905220548211155b8015610b685750600160a060020a0384166000908152600d602052604090205460ff16155b8015610b8d5750600160a060020a0383166000908152600d602052604090205460ff16155b8015610bb05750600160a060020a0384166000908152600e602052604090205442115b8015610bd35750600160a060020a0383166000908152600e602052604090205442115b1515610bde57600080fd5b600160a060020a0384166000908152600b6020526040902054610c07908363ffffffff61211516565b600160a060020a038086166000908152600b60205260408082209390935590851681522054610c3c908363ffffffff61212716565b600160a060020a038085166000908152600b60209081526040808320949094558783168252600c8152838220339093168252919091522054610c84908363ffffffff61211516565b600160a060020a038086166000818152600c6020908152604080832033861684528252918290209490945580518681529051928716939192600080516020612566833981519152929181900390910190a35060015b9392505050565b60045460ff1690565b60015460009033600160a060020a03908116911614610d0757600080fd5b60075460ff1615610d1757600080fd5b60008211610d2457600080fd5b600554610d37908363ffffffff61212716565b600555600160a060020a0383166000908152600b6020526040902054610d63908363ffffffff61212716565b600160a060020a0384166000818152600b6020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000916000805160206125668339815191529181900360200190a350600192915050565b600854600160a060020a031681565b6007546101009004600160a060020a031681565b60065481565b60408051808201909152600681527f42415353454c0000000000000000000000000000000000000000000000000000602082015281565b60015460009033600160a060020a03908116911614610e6b57600080fd5b60008351118015610e7d575081518351145b1515610e8857600080fd5b5060005b8251811015610fb0578181815181101515610ea357fe5b90602001906020020151600e60008584815181101515610ebf57fe5b6020908102909101810151600160a060020a031682528101919091526040016000205410610eec57600080fd5b8181815181101515610efa57fe5b90602001906020020151600e60008584815181101515610f1657fe5b6020908102909101810151600160a060020a03168252810191909152604001600020558251839082908110610f4757fe5b90602001906020020151600160a060020a03167f1bd6fb9fa2c39ce5d0d2afa1eaba998963eb5f553fd862c94f131aa9e35c15778383815181101515610f8957fe5b906020019060200201516040518082815260200191505060405180910390a2600101610e8c565b505050565b600160a060020a03166000908152600b602052604090205490565b60015460009033600160a060020a03908116911614610fee57600080fd5b60075460ff1615610ffe57600080fd5b6007805460ff191660011790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600954600160a060020a031681565b600154600160a060020a031681565b6000806000808411801561106d575060008551115b80156110925750600160a060020a0333166000908152600d602052604090205460ff16155b80156110b55750600160a060020a0333166000908152600e602052604090205442115b15156110c057600080fd5b6110d4846305f5e10063ffffffff61213616565b93506110ea85518561213690919063ffffffff16565b600160a060020a0333166000908152600b602052604090205490925082111561111257600080fd5b5060005b84518110156112a957848181518110151561112d57fe5b90602001906020020151600160a060020a03166000141580156111855750600d6000868381518110151561115d57fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff16155b80156111cc5750600e6000868381518110151561119e57fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b15156111d757600080fd5b61121c84600b600088858151811015156111ed57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff61212716565b600b6000878481518110151561122e57fe5b6020908102909101810151600160a060020a0316825281019190915260400160002055845185908290811061125f57fe5b90602001906020020151600160a060020a031633600160a060020a0316600080516020612566833981519152866040518082815260200191505060405180910390a3600101611116565b600160a060020a0333166000908152600b60205260409020546112d2908363ffffffff61211516565b33600160a060020a03166000908152600b6020526040902055506001949350505050565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610a595780601f10610a2e57610100808354040283529160200191610a59565b60015433600160a060020a0390811691161461137257600080fd5b60008111801561139a5750600160a060020a0382166000908152600b60205260409020548111155b15156113a557600080fd5b600160a060020a0382166000908152600b60205260409020546113ce908263ffffffff61211516565b600160a060020a0383166000908152600b60205260409020556005546113fa908263ffffffff61211516565b600555604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b600a54600160a060020a031681565b6000606060008311801561147c5750600160a060020a0333166000908152600d602052604090205460ff16155b80156114a15750600160a060020a0384166000908152600d602052604090205460ff16155b80156114c45750600160a060020a0333166000908152600e602052604090205442115b80156114e75750600160a060020a0384166000908152600e602052604090205442115b15156114f257600080fd5b6114fb84612161565b156115125761150b848483612169565b915061151d565b61150b8484836123d1565b5092915050565b600d6020526000908152604090205460ff1681565b600080831180156115635750600160a060020a0333166000908152600d602052604090205460ff16155b80156115885750600160a060020a0384166000908152600d602052604090205460ff16155b80156115ab5750600160a060020a0333166000908152600e602052604090205442115b80156115ce5750600160a060020a0384166000908152600e602052604090205442115b15156115d957600080fd5b6115e284612161565b156115f9576115f2848484612169565b9050610cd9565b6115f28484846123d1565b60015460009033600160a060020a0390811691161461162257600080fd5b825160001061163057600080fd5b5060005b8251811015610fb057828181518110151561164b57fe5b60209081029091010151600160a060020a0316151561166957600080fd5b81600d6000858481518110151561167c57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905582518390829081106116bc57fe5b90602001906020020151600160a060020a03167f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a583604051808215151515815260200191505060405180910390a2600101611634565b600e6020526000908152604090205481565b60015433600160a060020a0390811691161461173f57600080fd5b600655565b600160a060020a039182166000908152600c6020908152604080832093909416825291909152205490565b6000806000808551118015611785575083518551145b80156117aa5750600160a060020a0333166000908152600d602052604090205460ff16155b80156117cd5750600160a060020a0333166000908152600e602052604090205442115b15156117d857600080fd5b5060009050805b845181101561193a57600084828151811015156117f857fe5b906020019060200201511180156118305750848181518110151561181857fe5b90602001906020020151600160a060020a0316600014155b80156118715750600d6000868381518110151561184957fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff16155b80156118b85750600e6000868381518110151561188a57fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b15156118c357600080fd5b6118ef6305f5e10085838151811015156118d957fe5b602090810290910101519063ffffffff61213616565b84828151811015156118fd57fe5b6020908102909101015283516119309085908390811061191957fe5b60209081029091010151839063ffffffff61212716565b91506001016117df565b600160a060020a0333166000908152600b602052604090205482111561195f57600080fd5b5060005b84518110156112a957611999848281518110151561197d57fe5b90602001906020020151600b600088858151811015156111ed57fe5b600b600087848151811015156119ab57fe5b6020908102909101810151600160a060020a031682528101919091526040016000205584518590829081106119dc57fe5b90602001906020020151600160a060020a031633600160a060020a03166000805160206125668339815191528684815181101515611a1657fe5b906020019060200201516040518082815260200191505060405180910390a3600101611963565b6001546000908190819033600160a060020a03908116911614611a5f57600080fd5b60008551118015611a71575083518551145b1515611a7c57600080fd5b5060009050805b8451811015611d015760008482815181101515611a9c57fe5b90602001906020020151118015611ad457508481815181101515611abc57fe5b90602001906020020151600160a060020a0316600014155b8015611b155750600d60008683815181101515611aed57fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff16155b8015611b5c5750600e60008683815181101515611b2e57fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b1515611b6757600080fd5b611b7d6305f5e10085838151811015156118d957fe5b8482815181101515611b8b57fe5b602090810290910101528351849082908110611ba357fe5b90602001906020020151600b60008784815181101515611bbf57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020541015611bed57600080fd5b611c498482815181101515611bfe57fe5b90602001906020020151600b60008885815181101515611c1a57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff61211516565b600b60008784815181101515611c5b57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020558351611c909085908390811061191957fe5b915033600160a060020a03168582815181101515611caa57fe5b90602001906020020151600160a060020a03166000805160206125668339815191528684815181101515611cda57fe5b906020019060200201516040518082815260200191505060405180910390a3600101611a83565b600160a060020a0333166000908152600b60205260409020546112d2908363ffffffff61212716565b60015433600160a060020a03908116911614611d4557600080fd5b600160a060020a0381161515611d5a57600080fd5b600154604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008084118015611ded5750600160a060020a0333166000908152600d602052604090205460ff16155b8015611e125750600160a060020a0385166000908152600d602052604090205460ff16155b8015611e355750600160a060020a0333166000908152600e602052604090205442115b8015611e585750600160a060020a0385166000908152600e602052604090205442115b1515611e6357600080fd5b611e6c85612161565b156120ff57600160a060020a0333166000908152600b6020526040902054841115611e9657600080fd5b600160a060020a0333166000908152600b6020526040902054611ebf908563ffffffff61211516565b600160a060020a033381166000908152600b60205260408082209390935590871681522054611ef4908563ffffffff61212716565b600160a060020a0386166000818152600b6020908152604080832094909455925185519293919286928291908401908083835b60208310611f465780518252601f199092019160209182019101611f27565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611fd8578181015183820152602001611fc0565b50505050905090810190601f1680156120055780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af19350505050151561202557fe5b826040518082805190602001908083835b602083106120555780518252601f199092019160209182019101612036565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208a83529351939550600160a060020a038b811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a484600160a060020a031633600160a060020a0316600080516020612566833981519152866040518082815260200191505060405180910390a350600161210d565b61210a8585856123d1565b90505b949350505050565b60008282111561212157fe5b50900390565b600082820183811015610cd957fe5b600080831515612149576000915061151d565b5082820282848281151561215957fe5b0414610cd957fe5b6000903b1190565b600160a060020a0333166000908152600b6020526040812054819084111561219057600080fd5b600160a060020a0333166000908152600b60205260409020546121b9908563ffffffff61211516565b600160a060020a033381166000908152600b602052604080822093909355908716815220546121ee908563ffffffff61212716565b600160a060020a038087166000818152600b602090815260408083209590955593517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523393841660048201908152602482018a90526060604483019081528951606484015289518c9850949663c0ee0b8a96958c958c9560840192860191908190849084905b8381101561228e578181015183820152602001612276565b50505050905090810190601f1680156122bb5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50505050826040518082805190602001908083835b602083106123245780518252601f199092019160209182019101612305565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208a83529351939550600160a060020a038b811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a484600160a060020a031633600160a060020a0316600080516020612566833981519152866040518082815260200191505060405180910390a3506001949350505050565b600160a060020a0333166000908152600b60205260408120548311156123f657600080fd5b600160a060020a0333166000908152600b602052604090205461241f908463ffffffff61211516565b600160a060020a033381166000908152600b60205260408082209390935590861681522054612454908463ffffffff61212716565b600160a060020a0385166000908152600b60209081526040918290209290925551835184928291908401908083835b602083106124a25780518252601f199092019160209182019101612483565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208983529351939550600160a060020a038a811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a483600160a060020a031633600160a060020a0316600080516020612566833981519152856040518082815260200191505060405180910390a35060019392505050565b600080828481151561255c57fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582097f540ec7e01911681e90dee8ab1fe0454c897ee1a283d037cae7837f8fbd4d40029

Deployed ByteCode Sourcemap

4813:14375:0:-;;;;;;;;;-1:-1:-1;;;4813:14375:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19158:16;:14;:16::i;:::-;4813:14375;5140:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5140:34:0;;;;;;;;;;;;;;;;;;;;;;6438:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6438:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6438:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13155:211;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13155:211:0;-1:-1:-1;;;;;13155:211:0;;;;;;;6722:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6722:103:0;;;;;;;;;;;;;;;;;;;;12153:727;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12153:727:0;-1:-1:-1;;;;;12153:727:0;;;;;;;;;;;;6622:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6622:92:0;;;;;;;;;;;;;;;;;;;;;;;14607:349;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14607:349:0;-1:-1:-1;;;;;14607:349:0;;;;;;;5257:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5257:74:0;;;;;;;;-1:-1:-1;;;;;5257:74:0;;;;;;;;;;;;;;5183:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5183:67:0;;;;5098:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5098:35:0;;;;4964:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4964:48:0;;;;7694:416;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7694:416:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7694:416:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7694:416:0;;;;-1:-1:-1;7694:416:0;-1:-1:-1;7694:416:0;;-1:-1:-1;7694:416:0;;;;;;;;;-1:-1:-1;7694:416:0;;-1:-1:-1;7694:416:0;;-1:-1:-1;;;;;;;7694:416:0;6833:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6833:116:0;-1:-1:-1;;;;;6833:116:0;;;;;15032:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15032:153:0;;;;5338:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5338:73:0;;;;1179:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1179:20:0;;;;15306:888;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15306:888:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15306:888:0;;-1:-1:-1;;15306:888:0;;;-1:-1:-1;15306:888:0;;-1:-1:-1;;;;15306:888:0;6527:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6527:87:0;;;;14019:315;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14019:315:0;-1:-1:-1;;;;;14019:315:0;;;;;;;5418:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5418:83:0;;;;9805:525;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9805:525:0;-1:-1:-1;;;;;9805:525:0;;;;;;;5633:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5633:46:0;-1:-1:-1;;;;;5633:46:0;;;;;9131:510;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9131:510:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9131:510:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9131:510:0;;-1:-1:-1;9131:510:0;;-1:-1:-1;;;;;;;9131:510:0;7136:327;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7136:327:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7136:327:0;;-1:-1:-1;;;;7136:327:0;;;;;-1:-1:-1;7136:327:0;;-1:-1:-1;;7136:327:0;5686:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5686:50:0;-1:-1:-1;;;;;5686:50:0;;;;;18269:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18269:116:0;;;;;13674:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13674:146:0;-1:-1:-1;;;;;13674:146:0;;;;;;;;;;16202:1061;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16202:1061:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16202:1061:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16202:1061:0;;;;-1:-1:-1;16202:1061:0;-1:-1:-1;16202:1061:0;;-1:-1:-1;16202:1061:0;;;;;;;;;-1:-1:-1;16202:1061:0;;-1:-1:-1;16202:1061:0;;-1:-1:-1;;;;;;;16202:1061:0;17356:903;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17356:903:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17356:903:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17356:903:0;;;;-1:-1:-1;17356:903:0;-1:-1:-1;17356:903:0;;-1:-1:-1;17356:903:0;;;;;;;;;-1:-1:-1;17356:903:0;;-1:-1:-1;17356:903:0;;-1:-1:-1;;;;;;;17356:903:0;1846:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1846:187:0;-1:-1:-1;;;;;1846:187:0;;;;;8231:892;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8231:892:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8231:892:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8231:892:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8231:892:0;;;;-1:-1:-1;8231:892:0;-1:-1:-1;8231:892:0;;-1:-1:-1;8231:892:0;;;;;;;;-1:-1:-1;8231:892:0;;-1:-1:-1;8231:892:0;;-1:-1:-1;;;;;;;8231:892:0;18552:512;18631:1;18612:16;;:20;:77;;;;-1:-1:-1;18673:16:0;;18663:5;;-1:-1:-1;;;;;18663:5:0;18653:16;;;;:9;:16;;;;;;:36;;18612:77;:132;;;;-1:-1:-1;;;;;;18724:10:0;18710:25;;;;;:13;:25;;;;;;;;:34;18612:132;:185;;;;-1:-1:-1;;;;;;18786:10:0;18771:26;;;;;:14;:26;;;;;;18765:3;:32;18612:185;18604:194;;;;;;;;18824:1;18812:9;:13;18809:43;;;18827:5;;:25;;-1:-1:-1;;;;;18827:5:0;;;;18842:9;18827:25;;;;;:5;:25;:5;:25;18842:9;18827:5;:25;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18827:25:0;18809:43;18905:16;;18894:5;;-1:-1:-1;;;;;18894:5:0;18884:16;;;;:9;:16;;;;;;:38;;;:20;:38;:::i;:::-;18875:5;;-1:-1:-1;;;;;18875:5:0;;;18865:16;;;;:9;:16;;;;;;:57;;;;18983:16;;18967:10;18957:21;;;;;;;;;;:43;;;:25;:43;:::i;:::-;-1:-1:-1;;;;;18943:10:0;18933:21;;;;;;:9;:21;;;;;;;;;:67;;;;19020:5;;19039:16;;19011:45;;;;;;;18933:21;;19020:5;;;-1:-1:-1;;;;;;;;;;;19011:45:0;;;;;;;;18552:512::o;5140:34::-;;;;;;:::o;6438:81::-;6507:4;6500:11;;;;;;;-1:-1:-1;;6500:11:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6475:12;;6500:11;;6507:4;;6500:11;;6507:4;6500:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6438:81;:::o;13155:211::-;-1:-1:-1;;;;;13257:10:0;13247:21;;13222:12;13247:21;;;:9;:21;;;;;;;;:31;;;;;;;;;;;;:40;;;13298:38;;;;;;;13222:12;;13247:31;:21;13298:38;;;;;;;;;;;-1:-1:-1;13354:4:0;13155:211;;;;:::o;6722:103::-;6806:11;;6722:103;:::o;12153:727::-;12235:12;-1:-1:-1;;;;;12268:17:0;;;;;;:48;;;12315:1;12306:6;:10;12268:48;:95;;;;-1:-1:-1;;;;;;12337:16:0;;;;;;:9;:16;;;;;;:26;-1:-1:-1;12337:26:0;12268:95;:154;;;;-1:-1:-1;;;;;;12384:16:0;;;;;;;:9;:16;;;;;;;;12401:10;12384:28;;;;;;;;;;:38;-1:-1:-1;12384:38:0;12268:154;:204;;;;-1:-1:-1;;;;;;12443:20:0;;;;;;:13;:20;;;;;;;;:29;12268:204;:252;;;;-1:-1:-1;;;;;;12493:18:0;;;;;;:13;:18;;;;;;;;:27;12268:252;:300;;;;-1:-1:-1;;;;;;12547:21:0;;;;;;:14;:21;;;;;;12541:3;:27;12268:300;:346;;;;-1:-1:-1;;;;;;12595:19:0;;;;;;:14;:19;;;;;;12589:3;:25;12268:346;12260:355;;;;;;;;-1:-1:-1;;;;;12647:16:0;;;;;;:9;:16;;;;;;:28;;12668:6;12647:28;:20;:28;:::i;:::-;-1:-1:-1;;;;;12628:16:0;;;;;;;:9;:16;;;;;;:47;;;;12703:14;;;;;;;:26;;12722:6;12703:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;12686:14:0;;;;;;;:9;:14;;;;;;;;:43;;;;12771:16;;;;;:9;:16;;;;;12788:10;12771:28;;;;;;;;;;;:40;;12804:6;12771:40;:32;:40;:::i;:::-;-1:-1:-1;;;;;12740:16:0;;;;;;;:9;:16;;;;;;;;12757:10;12740:28;;;;;;;;;;:71;;;;12822:28;;;;;;;;;;;12740:16;;-1:-1:-1;;;;;;;;;;;12822:28:0;;;;;;;;;;-1:-1:-1;12868:4:0;12153:727;;;;;;:::o;6622:92::-;6698:8;;;;6622:92;:::o;14607:349::-;1643:5;;14689:4;;1629:10;-1:-1:-1;;;;;1629:19:0;;;1643:5;;1629:19;1621:28;;;;;;14383:15;;;;14382:16;14374:25;;;;;;14728:1;14714:15;;14706:24;;;;;;14757:11;;:28;;14773:11;14757:28;:15;:28;:::i;:::-;14743:11;:42;-1:-1:-1;;;;;14813:14:0;;;;;;:9;:14;;;;;;:31;;14832:11;14813:31;:18;:31;:::i;:::-;-1:-1:-1;;;;;14796:14:0;;;;;;:9;:14;;;;;;;;;:48;;;;14855:22;;;;;;;14796:14;;14855:22;;;;;;;;;14888:38;;;;;;;;-1:-1:-1;;;;;14888:38:0;;;14905:1;;-1:-1:-1;;;;;;;;;;;14888:38:0;;;;;;;;-1:-1:-1;14944:4:0;14607:349;;;;:::o;5257:74::-;;;-1:-1:-1;;;;;5257:74:0;;:::o;5183:67::-;;;;;;-1:-1:-1;;;;;5183:67:0;;:::o;5098:35::-;;;;:::o;4964:48::-;;;;;;;;;;;;;;;;;;;:::o;7694:416::-;1643:5;;7882:6;;1629:10;-1:-1:-1;;;;;1629:19:0;;;1643:5;;1629:19;1621:28;;;;;;7808:1;7791:7;:14;:18;:73;;;;;7848:9;:16;7830:7;:14;:34;7791:73;7783:82;;;;;;;;-1:-1:-1;7891:1:0;7878:225;7898:7;:14;7894:1;:18;7878:225;;;7970:9;7980:1;7970:12;;;;;;;;;;;;;;;;;;7941:14;:26;7956:7;7964:1;7956:10;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7941:26:0;;;;;;;;;;;-1:-1:-1;7941:26:0;;:41;7933:50;;;;;;8027:9;8037:1;8027:12;;;;;;;;;;;;;;;;;;7998:14;:26;8013:7;8021:1;8013:10;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7998:26:0;;;;;;;;;;;-1:-1:-1;7998:26:0;:41;8066:10;;:7;;8074:1;;8066:10;;;;;;;;;;;;;;-1:-1:-1;;;;;8054:37:0;;8078:9;8088:1;8078:12;;;;;;;;;;;;;;;;;;8054:37;;;;;;;;;;;;;;;;;;7914:3;;7878:225;;;7694:416;;;:::o;6833:116::-;-1:-1:-1;;;;;6924:17:0;6889:15;6924:17;;;:9;:17;;;;;;;6833:116::o;15032:153::-;1643:5;;15091:4;;1629:10;-1:-1:-1;;;;;1629:19:0;;;1643:5;;1629:19;1621:28;;;;;;14383:15;;;;14382:16;14374:25;;;;;;15108:15;:22;;-1:-1:-1;;15108:22:0;15126:4;15108:22;;;15141:14;;;;15108:15;;15141:14;-1:-1:-1;15173:4:0;15032:153;:::o;5338:73::-;;;-1:-1:-1;;;;;5338:73:0;;:::o;1179:20::-;;;-1:-1:-1;;;;;1179:20:0;;:::o;15306:888::-;15386:4;15619:19;15743:6;15420:1;15411:6;:10;:51;;;;;15461:1;15442:9;:16;:20;15411:51;:106;;;;-1:-1:-1;;;;;;15497:10:0;15483:25;;;;;:13;:25;;;;;;;;:34;15411:106;:159;;;;-1:-1:-1;;;;;;15559:10:0;15544:26;;;;;:14;:26;;;;;;15538:3;:32;15411:159;15403:168;;;;;;;;15593:15;:6;15604:3;15593:15;:10;:15;:::i;:::-;15584:24;;15641:28;15652:9;:16;15641:6;:10;;:28;;;;:::i;:::-;-1:-1:-1;;;;;15698:10:0;15688:21;;;;;:9;:21;;;;;;15619:50;;-1:-1:-1;15688:36:0;-1:-1:-1;15688:36:0;15680:45;;;;;;-1:-1:-1;15752:1:0;15738:354;15759:9;:16;15755:1;:20;15738:354;;;15805:9;15815:1;15805:12;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15805:19:0;15821:3;15805:19;;:80;;;;;15849:13;:27;15863:9;15873:1;15863:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15849:27:0;;;;;;;;;;;-1:-1:-1;15849:27:0;;;;:36;15805:80;:139;;;;;15916:14;:28;15931:9;15941:1;15931:12;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15916:28:0;-1:-1:-1;;;;;15916:28:0;;;;;;;;;;;;;15910:3;:34;15805:139;15797:148;;;;;;;;15988:35;16016:6;15988:9;:23;15998:9;16008:1;15998:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15988:23:0;;;;;;;;;;;-1:-1:-1;15988:23:0;;;:35;:27;:35;:::i;:::-;15962:9;:23;15972:9;15982:1;15972:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15962:23:0;;;;;;;;;;;-1:-1:-1;15962:23:0;:61;16059:12;;:9;;16069:1;;16059:12;;;;;;;;;;;;;;-1:-1:-1;;;;;16038:42:0;16047:10;-1:-1:-1;;;;;16038:42:0;-1:-1:-1;;;;;;;;;;;16073:6:0;16038:42;;;;;;;;;;;;;;;;;;15777:3;;15738:354;;;-1:-1:-1;;;;;16136:10:0;16126:21;;;;;:9;:21;;;;;;:38;;16152:11;16126:38;:25;:38;:::i;:::-;16112:10;-1:-1:-1;;;;;16102:21:0;;;;;:9;:21;;;;;:62;-1:-1:-1;16182:4:0;;15306:888;-1:-1:-1;;;;15306:888:0:o;6527:87::-;6600:6;6593:13;;;;;;;;-1:-1:-1;;6593:13:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6566:14;;6593:13;;6600:6;;6593:13;;6600:6;6593:13;;;;;;;;;;;;;;;;;;;;;;;;14019:315;1643:5;;1629:10;-1:-1:-1;;;;;1629:19:0;;;1643:5;;1629:19;1621:28;;;;;;14119:1;14105:11;:15;:67;;;;-1:-1:-1;;;;;;14141:16:0;;;;;;:9;:16;;;;;;:31;-1:-1:-1;14141:31:0;14105:67;14097:76;;;;;;;;-1:-1:-1;;;;;14205:16:0;;;;;;:9;:16;;;;;;:33;;14226:11;14205:33;:20;:33;:::i;:::-;-1:-1:-1;;;;;14186:16:0;;;;;;:9;:16;;;;;:52;14263:11;;:28;;14279:11;14263:28;:15;:28;:::i;:::-;14249:11;:42;14302:24;;;;;;;;-1:-1:-1;;;;;14302:24:0;;;;;;;;;;;;;14019:315;;:::o;5418:83::-;;;-1:-1:-1;;;;;5418:83:0;;:::o;9805:525::-;9865:12;10124:18;9907:1;9898:6;:10;:65;;;;-1:-1:-1;;;;;;9943:10:0;9929:25;;;;;:13;:25;;;;;;;;:34;9898:65;:113;;;;-1:-1:-1;;;;;;9984:18:0;;;;;;:13;:18;;;;;;;;:27;9898:113;:166;;;;-1:-1:-1;;;;;;10053:10:0;10038:26;;;;;:14;:26;;;;;;10032:3;:32;9898:166;:212;;;;-1:-1:-1;;;;;;10091:19:0;;;;;;:14;:19;;;;;;10085:3;:25;9898:212;9890:221;;;;;;;;10157:15;10168:3;10157:10;:15::i;:::-;10153:170;;;10196:38;10215:3;10220:6;10228:5;10196:18;:38::i;:::-;10189:45;;;;10153:170;10274:37;10292:3;10297:6;10305:5;10274:17;:37::i;10153:170::-;9805:525;;;;;:::o;5633:46::-;;;;;;;;;;;;;;;:::o;9131:510::-;9205:12;9247:1;9238:6;:10;:65;;;;-1:-1:-1;;;;;;9283:10:0;9269:25;;;;;:13;:25;;;;;;;;:34;9238:65;:113;;;;-1:-1:-1;;;;;;9324:18:0;;;;;;:13;:18;;;;;;;;:27;9238:113;:166;;;;-1:-1:-1;;;;;;9393:10:0;9378:26;;;;;:14;:26;;;;;;9372:3;:32;9238:166;:212;;;;-1:-1:-1;;;;;;9431:19:0;;;;;;:14;:19;;;;;;9425:3;:25;9238:212;9230:221;;;;;;;;9468:15;9479:3;9468:10;:15::i;:::-;9464:170;;;9507:38;9526:3;9531:6;9539:5;9507:18;:38::i;:::-;9500:45;;;;9464:170;9585:37;9603:3;9608:6;9616:5;9585:17;:37::i;7136:327::-;1643:5;;7267:6;;1629:10;-1:-1:-1;;;;;1629:19:0;;;1643:5;;1629:19;1621:28;;;;;;7230:14;;7247:1;-1:-1:-1;7222:27:0;;;;;;-1:-1:-1;7276:1:0;7262:194;7283:7;:14;7279:1;:18;7262:194;;;7327:7;7335:1;7327:10;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7327:17:0;;;7319:26;;;;;;7388:8;7360:13;:25;7374:7;7382:1;7374:10;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7360:25:0;;;;;;;;;;;-1:-1:-1;7360:25:0;:36;;-1:-1:-1;;7360:36:0;;;;;;;;;;7423:10;;;;7431:1;;7423:10;;;;;;;;;;;;;;-1:-1:-1;;;;;7411:33:0;;7435:8;7411:33;;;;;;;;;;;;;;;;;;;;;;7299:3;;7262:194;;5686:50;;;;;;;;;;;;;:::o;18269:116::-;1643:5;;1629:10;-1:-1:-1;;;;;1629:19:0;;;1643:5;;1629:19;1621:28;;;;;;18347:16;:30;18269:116::o;13674:146::-;-1:-1:-1;;;;;13785:17:0;;;13748;13785;;;:9;:17;;;;;;;;:27;;;;;;;;;;;;;13674:146::o;16202:1061::-;16282:4;16504:19;16544:6;16326:1;16307:9;:16;:20;:75;;;;;16368:7;:14;16348:9;:16;:34;16307:75;:130;;;;-1:-1:-1;;;;;;16417:10:0;16403:25;;;;;:13;:25;;;;;;;;:34;16307:130;:183;;;;-1:-1:-1;;;;;;16479:10:0;16464:26;;;;;:14;:26;;;;;;16458:3;:32;16307:183;16299:192;;;;;;;;-1:-1:-1;16526:1:0;;-1:-1:-1;16526:1:0;16540:361;16560:9;:16;16556:1;:20;16540:361;;;16618:1;16605:7;16613:1;16605:10;;;;;;;;;;;;;;;;;;:14;:58;;;;;16644:9;16654:1;16644:12;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16644:19:0;16660:3;16644:19;;16605:58;:119;;;;;16688:13;:27;16702:9;16712:1;16702:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16688:27:0;;;;;;;;;;;-1:-1:-1;16688:27:0;;;;:36;16605:119;:178;;;;;16755:14;:28;16770:9;16780:1;16770:12;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16755:28:0;-1:-1:-1;;;;;16755:28:0;;;;;;;;;;;;;16749:3;:34;16605:178;16597:187;;;;;;;;16814:19;16829:3;16814:7;16822:1;16814:10;;;;;;;;;;;;;;;;;;;;:19;:14;:19;:::i;:::-;16801:7;16809:1;16801:10;;;;;;;;;;;;;;;;;;:32;16878:10;;16862:27;;16878:7;;16886:1;;16878:10;;;;;;;;;;;;;;;16862:11;;:27;:15;:27;:::i;:::-;16848:41;-1:-1:-1;16578:3:0;;16540:361;;;-1:-1:-1;;;;;16929:10:0;16919:21;;;;;:9;:21;;;;;;:36;-1:-1:-1;16919:36:0;16911:45;;;;;;-1:-1:-1;16978:1:0;16969:192;16985:9;:16;16981:1;:20;16969:192;;;17049:39;17077:7;17085:1;17077:10;;;;;;;;;;;;;;;;;;17049:9;:23;17059:9;17069:1;17059:12;;;;;;;;;17049:39;17023:9;:23;17033:9;17043:1;17033:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17023:23:0;;;;;;;;;;;-1:-1:-1;17023:23:0;:65;17124:12;;:9;;17134:1;;17124:12;;;;;;;;;;;;;;-1:-1:-1;;;;;17103:46:0;17112:10;-1:-1:-1;;;;;17103:46:0;-1:-1:-1;;;;;;;;;;;17138:7:0;17146:1;17138:10;;;;;;;;;;;;;;;;;;17103:46;;;;;;;;;;;;;;;;;;17003:3;;16969:192;;17356:903;1643:5;;17442:4;;;;;;1629:10;-1:-1:-1;;;;;1629:19:0;;;1643:5;;1629:19;1621:28;;;;;;17486:1;17467:9;:16;:20;:75;;;;;17528:7;:14;17508:9;:16;:34;17467:75;17459:84;;;;;;;;-1:-1:-1;17578:1:0;;-1:-1:-1;17578:1:0;17592:565;17613:9;:16;17609:1;:20;17592:565;;;17672:1;17659:7;17667:1;17659:10;;;;;;;;;;;;;;;;;;:14;:58;;;;;17698:9;17708:1;17698:12;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17698:19:0;17714:3;17698:19;;17659:58;:119;;;;;17742:13;:27;17756:9;17766:1;17756:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17742:27:0;;;;;;;;;;;-1:-1:-1;17742:27:0;;;;:36;17659:119;:178;;;;;17809:14;:28;17824:9;17834:1;17824:12;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17809:28:0;-1:-1:-1;;;;;17809:28:0;;;;;;;;;;;;;17803:3;:34;17659:178;17651:187;;;;;;;;17868:19;17883:3;17868:7;17876:1;17868:10;;;;;;;;;:19;17855:7;17863:1;17855:10;;;;;;;;;;;;;;;;;;:32;17937:10;;:7;;17945:1;;17937:10;;;;;;;;;;;;;;17910:9;:23;17920:9;17930:1;17920:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17910:23:0;;;;;;;;;;;-1:-1:-1;17910:23:0;;:37;;17902:46;;;;;;17989:39;18017:7;18025:1;18017:10;;;;;;;;;;;;;;;;;;17989:9;:23;17999:9;18009:1;17999:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17989:23:0;;;;;;;;;;;-1:-1:-1;17989:23:0;;;:39;:27;:39;:::i;:::-;17963:9;:23;17973:9;17983:1;17973:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17963:23:0;;;;;;;;;;;-1:-1:-1;17963:23:0;:65;18073:10;;18057:27;;18073:7;;18081:1;;18073:10;;;;;18057:27;18043:41;;18122:10;-1:-1:-1;;;;;18099:46:0;18108:9;18118:1;18108:12;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18099:46:0;-1:-1:-1;;;;;;;;;;;18134:7:0;18142:1;18134:10;;;;;;;;;;;;;;;;;;18099:46;;;;;;;;;;;;;;;;;;17631:3;;17592:565;;;-1:-1:-1;;;;;18201:10:0;18191:21;;;;;:9;:21;;;;;;:38;;18217:11;18191:38;:25;:38;:::i;1846:187::-;1643:5;;1629:10;-1:-1:-1;;;;;1629:19:0;;;1643:5;;1629:19;1621:28;;;;;;-1:-1:-1;;;;;1927:22:0;;;;1919:31;;;;;;1982:5;;1961:37;;-1:-1:-1;;;;;1961:37:0;;;;1982:5;;1961:37;;1982:5;;1961:37;2009:5;:16;;-1:-1:-1;;2009:16:0;-1:-1:-1;;;;;2009:16:0;;;;;;;;;;1846:187::o;8231:892::-;8329:12;8371:1;8362:6;:10;:65;;;;-1:-1:-1;;;;;;8407:10:0;8393:25;;;;;:13;:25;;;;;;;;:34;8362:65;:113;;;;-1:-1:-1;;;;;;8448:18:0;;;;;;:13;:18;;;;;;;;:27;8362:113;:166;;;;-1:-1:-1;;;;;;8517:10:0;8502:26;;;;;:14;:26;;;;;;8496:3;:32;8362:166;:212;;;;-1:-1:-1;;;;;;8555:19:0;;;;;;:14;:19;;;;;;8549:3;:25;8362:212;8354:221;;;;;;;;8592:15;8603:3;8592:10;:15::i;:::-;8588:528;;;-1:-1:-1;;;;;8642:10:0;8632:21;;;;;:9;:21;;;;;;:31;-1:-1:-1;8632:31:0;8624:40;;;;;;-1:-1:-1;;;;;8713:10:0;8703:21;;;;;:9;:21;;;;;;:33;;8729:6;8703:33;:25;:33;:::i;:::-;-1:-1:-1;;;;;8689:10:0;8679:21;;;;;;:9;:21;;;;;;:57;;;;8768:14;;;;;;;:26;;8787:6;8768:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;8751:14:0;;;;;;:9;:14;;;;;;;;:43;;;;8841:27;;;;8751:14;;;;8851:16;;8841:27;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;8841:27:0;;;;;;;;;;;;;;;;-1:-1:-1;;;8816:81:0;;;8871:10;8883:6;8891:5;8816:81;;;;;-1:-1:-1;;;8816:81:0;;;;;;;-1:-1:-1;;;;;8816:81:0;-1:-1:-1;;;;;8816:81:0;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8816:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8809:89;;;;;;8947:5;8913:40;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;8913:40:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8913:40:0;;;;-1:-1:-1;8922:10:0;8913:40;;;;-1:-1:-1;8913:40:0;;;;;;;8989:3;-1:-1:-1;;;;;8968:33:0;8977:10;-1:-1:-1;;;;;8968:33:0;-1:-1:-1;;;;;;;;;;;8994:6:0;8968:33;;;;;;;;;;;;;;;;;;-1:-1:-1;9023:4:0;9016:11;;8588:528;9067:37;9085:3;9090:6;9098:5;9067:17;:37::i;:::-;9060:44;;8588:528;8231:892;;;;;;:::o;666:123::-;724:7;751:6;;;;744:14;;;;-1:-1:-1;776:5:0;;;666:123::o;797:147::-;855:7;887:5;;;910:6;;;;903:14;;;154:208;212:7;;236:6;;232:47;;;266:1;259:8;;;;232:47;-1:-1:-1;301:5:0;;;305:1;301;:5;324;;;;;;;;:10;317:18;;;10432:292;10489:16;10658:18;;10705:10;;10432:292::o;11275:516::-;-1:-1:-1;;;;;11402:10:0;11392:21;11359:12;11392:21;;;:9;:21;;;;;;11359:12;;11392:31;-1:-1:-1;11392:31:0;11384:40;;;;;;-1:-1:-1;;;;;11469:10:0;11459:21;;;;;:9;:21;;;;;;:33;;11485:6;11459:33;:25;:33;:::i;:::-;-1:-1:-1;;;;;11445:10:0;11435:21;;;;;;:9;:21;;;;;;:57;;;;11520:14;;;;;;;:26;;11539:6;11520:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;11503:14:0;;;;;;;:9;:14;;;;;;;;:43;;;;11617:49;;;;;11640:10;11617:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11513:3;;-1:-1:-1;11503:14:0;;11617:22;;11640:10;11652:6;;11660:5;;11617:49;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;11617:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11617:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11617:49:0;;;;11711:5;11677:40;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;11677:40:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11677:40:0;;;;-1:-1:-1;11686:10:0;11677:40;;;;-1:-1:-1;11677:40:0;;;;;;;11749:3;-1:-1:-1;;;;;11728:33:0;11737:10;-1:-1:-1;;;;;11728:33:0;-1:-1:-1;;;;;;;;;;;11754:6:0;11728:33;;;;;;;;;;;;;;;;;;-1:-1:-1;11779:4:0;;11275:516;-1:-1:-1;;;;11275:516:0:o;10802:395::-;-1:-1:-1;;;;;10928:10:0;10918:21;10885:12;10918:21;;;:9;:21;;;;;;:31;-1:-1:-1;10918:31:0;10910:40;;;;;;-1:-1:-1;;;;;10995:10:0;10985:21;;;;;:9;:21;;;;;;:33;;11011:6;10985:33;:25;:33;:::i;:::-;-1:-1:-1;;;;;10971:10:0;10961:21;;;;;;:9;:21;;;;;;:57;;;;11046:14;;;;;;;:26;;11065:6;11046:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;11029:14:0;;;;;;:9;:14;;;;;;;;;:43;;;;11083:40;;;11117:5;;11083:40;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;11083:40:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11083:40:0;;;;-1:-1:-1;11092:10:0;11083:40;;;;-1:-1:-1;11083:40:0;;;;;;;11155:3;-1:-1:-1;;;;;11134:33:0;11143:10;-1:-1:-1;;;;;11134:33:0;-1:-1:-1;;;;;;;;;;;11160:6:0;11134:33;;;;;;;;;;;;;;;;;;-1:-1:-1;11185:4:0;10802:395;;;;;:::o;370:288::-;428:7;527:9;543:1;539;:5;;;;;;;;;370:288;-1:-1:-1;;;;370:288:0:o

Swarm Source

bzzr://97f540ec7e01911681e90dee8ab1fe0454c897ee1a283d037cae7837f8fbd4d4

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.