Token Splash Token

Overview ERC20

Price
$0.00 @ 0.000000 AVAX
Fully Diluted Market Cap
Total Supply:
15,000,000 Splash

Holders:
5,810 addresses
Contract:
0xe16253892f126d068e711c2fdde6db56969dbcf60xE16253892F126D068E711C2fdde6DB56969dBCf6

Decimals:
18

Social Profiles:
Not Available, Update ?

Balance
7,961,145.865843285366704754 Splash

Value
$0.00
0xd17a5d992567e2fc2a3fe1c8bc58bf63d24e55e1
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

Click here to update the token ICO / general information
# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x66B07aA25e843C258132488b27835665aBB2E9FF

Contract Name:
SplashToken

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-15
*/

pragma solidity ^0.4.25;

// File: openzeppelin-solidity/contracts/ownership/Ownable.sol

/**
 * @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.
     */
    constructor() public {
        owner = msg.sender;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner, 'only 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) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

}

contract Whitelist is Ownable {
    mapping(address => bool) public whitelist;
    mapping(address=>bool) public blackList;

    event WhitelistedAddressAdded(address addr);
    event WhitelistedAddressRemoved(address addr);

    /**
     * @dev Throws if called by any account that's not whitelisted.
     */
    modifier onlyWhitelisted() {
        require(whitelist[msg.sender], 'not whitelisted');
        _;
    }
          modifier noBlackList(){
   require(!blackList[msg.sender]==true,"No Blacklist calls");
   _;
  }
 function removeFromBlackList(address[] memory blackListAddress) public onlyOwner {
    for(uint256 i;i<blackListAddress.length;i++){
      blackList[blackListAddress[i]]=false;
    }
  }
  function addToBlackList(address[] memory blackListAddress) public onlyOwner {
    for(uint256 i;i<blackListAddress.length;i++){
        blackList[blackListAddress[i]]=true;
    }
  }

    /**
     * @dev add an address to the whitelist
     * @param addr address
     * @return true if the address was added to the whitelist, false if the address was already in the whitelist
     */
    function addAddressToWhitelist(address addr) onlyOwner public returns(bool success) {
        if (!whitelist[addr]) {
            whitelist[addr] = true;
            emit WhitelistedAddressAdded(addr);
            success = true;
        }
    }

    /**
     * @dev add addresses to the whitelist
     * @param addrs addresses
     * @return true if at least one address was added to the whitelist,
     * false if all addresses were already in the whitelist
     */
    function addAddressesToWhitelist(address[] addrs) onlyOwner public returns(bool success) {
        for (uint256 i = 0; i < addrs.length; i++) {
            if (addAddressToWhitelist(addrs[i])) {
                success = true;
            }
        }
    }

    /**
     * @dev remove an address from the whitelist
     * @param addr address
     * @return true if the address was removed from the whitelist,
     * false if the address wasn't in the whitelist in the first place
     */
    function removeAddressFromWhitelist(address addr) onlyOwner public returns(bool success) {
        if (whitelist[addr]) {
            whitelist[addr] = false;
            emit WhitelistedAddressRemoved(addr);
            success = true;
        }
    }

    /**
     * @dev remove addresses from the whitelist
     * @param addrs addresses
     * @return true if at least one address was removed from the whitelist,
     * false if all addresses weren't in the whitelist in the first place
     */
    function removeAddressesFromWhitelist(address[] addrs) onlyOwner public returns(bool success) {
        for (uint256 i = 0; i < addrs.length; i++) {
            if (removeAddressFromWhitelist(addrs[i])) {
                success = true;
            }
        }
    }

}

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    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;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    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 a / b;
    }

    /**
    * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        assert(c >= a);
        return c;
    }
}

interface BEP20Basic {
    function totalSupply() external view returns (uint256);

    function balanceOf(address who) external view returns (uint256);

    function transfer(address to, uint256 value) external returns (bool);

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

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is BEP20Basic {
    using SafeMath for uint256;

    mapping(address => uint256) balances;

    uint256 totalSupply_;

    /**
    * @dev total number of tokens in existence
    */
    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

    /**
    * @dev transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

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

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) public view returns (uint256) {
        return balances[_owner];
    }

}

/**
 * @title BEP20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract BEP20 is BEP20Basic {
    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);
}

/**
 * @title Standard BEP20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 */
contract StandardToken is BEP20, BasicToken {

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

    /**
     * @dev Transfer tokens from one address to another
     * @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) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);

        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);
        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     *
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param _spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address _spender) public view returns (uint256) {
        return allowed[_owner][_spender];
    }

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _addedValue The amount of tokens to increase the allowance by.
     */
    function increaseApproval(address _spender, uint _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;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
        uint 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;
    }

}

/**
 * @title Mintable token
 * @dev Simple BEP20 Token example, with mintable token creation
 * @dev Issue: * https://github.com/OpenZeppelin/openzeppelin-solidity/issues/120
 */
contract MintableToken is StandardToken, Whitelist {
    event Mint(address indexed to, uint256 amount);
    event MintFinished();

    bool public mintingFinished = false;

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

    /**
     * @dev Function to mint tokens
     * @param _to The address that will receive the minted tokens.
     * @param _amount The amount of tokens to mint.
     * @return A boolean that indicates if the operation was successful.
     */
    function mint(address _to, uint256 _amount)  onlyWhitelisted canMint public returns (bool) {
        require(_to != address(0));
        totalSupply_ = totalSupply_.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Mint(_to, _amount);
        emit Transfer(address(0), _to, _amount);
        return true;
    }

    /**
     * @dev Function to stop minting new tokens.
     * @return True if the operation was successful.
     */
    function finishMinting()  onlyWhitelisted canMint public returns (bool) {
        mintingFinished = true;
        emit MintFinished();
        return true;
    }
}

contract SplashToken is MintableToken {

    struct Stats {
        uint256 txs;
        uint256 minted;
    }

    string public constant name = "Splash Token";
    string public constant symbol = "Splash";
    uint8 public constant decimals = 18;
    uint256 public constant MAX_INT = 2**256 - 1;
    uint256 public constant targetSupply = MAX_INT;
    uint256 public totalTxs;
    uint256 public players;
    uint256 private mintedSupply_;

    mapping(address => Stats) private stats;

    address public vaultAddress;
    uint8 constant internal taxDefault = 10; // 10% tax on transfers

    mapping (address => uint8) private _customTaxRate;
    mapping (address => bool) private _hasCustomTax;

    mapping (address => bool) private _isExcluded;
    address[] private _excluded;

    event TaxPayed(address from, address vault, uint256 amount);
    /**
     * @dev default constructor
     */
    constructor(uint256 _initialMint) Ownable() public {
        addAddressToWhitelist(owner);
        mint(owner, _initialMint * 1e18);
        removeAddressFromWhitelist(owner);
    }

    function setVaultAddress(address _newVaultAddress) public onlyOwner {
        vaultAddress = _newVaultAddress;
    }

    /**
     * @dev Function to mint tokens (onlyOwner)
     * @param _to The address that will receive the minted tokens.
     * @param _amount The amount of tokens to mint.
     * @return A boolean that indicates if the operation was successful.
     */
    function mint(address _to, uint256 _amount) public onlyOwner returns (bool) {

        //Never fail, just don't mint if over
        if (_amount == 0 || mintedSupply_.add(_amount) > targetSupply) {
            return false;
        }

        //Mint
        super.mint(_to, _amount);
        mintedSupply_ = mintedSupply_.add(_amount);

        if (mintedSupply_ == targetSupply) {
            mintingFinished = true;
            emit MintFinished();
        }

        /* Members */
        if (stats[_to].txs == 0) {
            players += 1;
        }

        stats[_to].txs += 1;
        stats[_to].minted += _amount;

        totalTxs += 1;

        return true;

    }

    /**
     * @dev Override so that minting cannot be accidentally terminated
     */
    function finishMinting() onlyOwner canMint public returns (bool) {
        return false;
    }

    function calculateTransactionTax(uint256 _value, uint8 _tax) internal returns (uint256 adjustedValue, uint256 taxAmount){
        taxAmount = _value.mul(_tax).div(100);
        adjustedValue = _value.mul(SafeMath.sub(100, _tax)).div(100);
        return (adjustedValue, taxAmount);
    }

    /** @dev Transfers (using transferFrom) */
    function transferFrom(address _from, address _to, uint256 _value) noBlackList public returns (bool) {

        (uint256 adjustedValue, uint256 taxAmount) = calculateTransferTaxes(_from, _value);

        if (taxAmount > 0){
            require(super.transferFrom(_from, vaultAddress, taxAmount));
            emit TaxPayed(_from, vaultAddress, taxAmount);
        }
        require(super.transferFrom(_from, _to, adjustedValue));

        /* Members */
        if (stats[_to].txs == 0) {
            players += 1;
        }

        stats[_to].txs += 1;
        stats[_from].txs += 1;

        totalTxs += 1;

        return true;


    }

    /** @dev Transfers */
    function transfer(address _to, uint256 _value) noBlackList public returns (bool) {

        (uint256 adjustedValue, uint256 taxAmount) = calculateTransferTaxes(msg.sender, _value);

        if (taxAmount > 0){
            require(super.transfer(vaultAddress, taxAmount));
            emit TaxPayed(msg.sender, vaultAddress, taxAmount);
        }
        require(super.transfer(_to, adjustedValue));

        /* Members */
        if (stats[_to].txs == 0) {
            players += 1;
        }

        stats[_to].txs += 1;
        stats[msg.sender].txs += 1;

        totalTxs += 1;

        return true;
    }

    function calculateTransferTaxes(address _from, uint256 _value) public view returns (uint256 adjustedValue, uint256 taxAmount){
        adjustedValue = _value;
        taxAmount = 0;

        if (!_isExcluded[_from]) {
            uint8 taxPercent = taxDefault; // set to default tax 10%

            // set custom tax rate if applicable
            if (_hasCustomTax[_from]){
                taxPercent = _customTaxRate[_from];
            }

            (adjustedValue, taxAmount) = calculateTransactionTax(_value, taxPercent);
        }
        return (adjustedValue, taxAmount);
    }

    /** @dev Returns the supply still available to mint */
    function remainingMintableSupply() public view returns (uint256) {
        return targetSupply.sub(mintedSupply_);
    }

    /**
     * @dev Returns the cap for the token minting.
     */
    function cap() public view returns (uint256) {
        return targetSupply;
    }

    /**
    * @dev total number of minted tokens
    */
    function mintedSupply() public view returns (uint256) {
        return mintedSupply_;
    }

    /** @dev stats of player, (txs, minted) */
    function statsOf(address player) public view returns (uint256, uint256, uint256){
        return (balanceOf(player), stats[player].txs, stats[player].minted);
    }

    ///** @dev Returns the number of tokens minted by the player */
    function mintedBy(address player) public view returns (uint256){
        return stats[player].minted;
    }

    function setAccountCustomTax(address account, uint8 taxRate) external onlyOwner() {
        require(taxRate >= 0 && taxRate <= 100, "Invalid tax amount");
        _hasCustomTax[account] = true;
        _customTaxRate[account] = taxRate;
    }

    function removeAccountCustomTax(address account) external onlyOwner() {
        _hasCustomTax[account] = false;
    }

    function excludeAccount(address account) external onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeAccount(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _isExcluded[account] = false;
                delete _excluded[_excluded.length - 1];
                break;
            }
        }
    }

    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }
}

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":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_INT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"player","type":"address"}],"name":"statsOf","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addrs","type":"address[]"}],"name":"removeAddressesFromWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"removeAddressFromWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"blackListAddress","type":"address[]"}],"name":"removeFromBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"targetSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"remainingMintableSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"player","type":"address"}],"name":"mintedBy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"taxRate","type":"uint8"}],"name":"setAccountCustomTax","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vaultAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blackList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTxs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeAccountCustomTax","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"calculateTransferTaxes","outputs":[{"name":"adjustedValue","type":"uint256"},{"name":"taxAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"addAddressToWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newVaultAddress","type":"address"}],"name":"setVaultAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintedSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isExcluded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"players","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addrs","type":"address[]"}],"name":"addAddressesToWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"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":"account","type":"address"}],"name":"includeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"blackListAddress","type":"address[]"}],"name":"addToBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialMint","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"vault","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TaxPayed","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":false,"name":"addr","type":"address"}],"name":"WhitelistedAddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"WhitelistedAddressRemoved","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":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526000600660006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b5060405160208062004c428339810180604052810190808051906020019092919050505033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000cd600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200015a640100000000026401000000009004565b5062000115600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a764000083026200033b640100000000026401000000009004565b5062000152600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000640640100000000026401000000009004565b505062000ae7565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151562000222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151562000336576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151562000403576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008214806200045657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200045483600954620008206401000000000262003b9f179091906401000000009004565b115b156200046657600090506200063a565b6200048683836200083d6401000000000262003bbb176401000000009004565b50620004ac82600954620008206401000000000262003b9f179091906401000000009004565b6009819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600954141562000525576001600660006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a15b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415620005835760016008600082825401925050819055505b6001600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254019250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055506001600760008282540192505081905550600190505b92915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151562000708576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156200081b576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b600081830190508281101515156200083457fe5b80905092915050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151562000901576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f742077686974656c6973746564000000000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900460ff161515156200091e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156200095b57600080fd5b6200098082600154620008206401000000000262003b9f179091906401000000009004565b600181905550620009e7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620008206401000000000262003b9f179091906401000000009004565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b61414b8062000af76000396000f3006080604052600436106101f9576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146101fe57806306fdde031461022d578063095ea7b3146102bd578063098d32281461032257806315cfc4051461034d57806318160ddd146103b257806323b872dd146103dd57806324953eaa14610462578063286dd3f5146104e05780632926e2271461053b5780632a1eafd9146105a1578063313ce567146105cc578063349f0b90146105fd578063355274ea146106285780633cef28d21461065357806340c10f19146106aa57806341adae601461070f578063430bf08a1461075f5780634838d165146107b6578063537a39bb14610811578063661884631461083c57806370a08231146108a157806371dd9732146108f857806379a5b2271461093b5780637b9417c8146109a35780637d64bcb4146109fe57806385535cc514610a2d5780638da5cb5b14610a7057806395d89b4114610ac75780639b19251a14610b57578063a9059cbb14610bb2578063c1bd8cf914610c17578063cba0e99614610c42578063d73dd62314610c9d578063dc0b356414610d02578063dd62ed3e14610d2d578063e2ec6ec314610da4578063f2cc0c1814610e22578063f2fde38b14610e65578063f84354f114610ea8578063ff89757014610eeb575b600080fd5b34801561020a57600080fd5b50610213610f51565b604051808215151515815260200191505060405180910390f35b34801561023957600080fd5b50610242610f64565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610282578082015181840152602081019050610267565b50505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c957600080fd5b50610308600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f9d565b604051808215151515815260200191505060405180910390f35b34801561032e57600080fd5b5061033761108f565b6040518082815260200191505060405180910390f35b34801561035957600080fd5b5061038e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110b3565b60405180848152602001838152602001828152602001935050505060405180910390f35b3480156103be57600080fd5b506103c7611154565b6040518082815260200191505060405180910390f35b3480156103e957600080fd5b50610448600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061115e565b604051808215151515815260200191505060405180910390f35b34801561046e57600080fd5b506104c660048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611470565b604051808215151515815260200191505060405180910390f35b3480156104ec57600080fd5b50610521600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611583565b604051808215151515815260200191505060405180910390f35b34801561054757600080fd5b5061059f60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611761565b005b3480156105ad57600080fd5b506105b66118b2565b6040518082815260200191505060405180910390f35b3480156105d857600080fd5b506105e16118d6565b604051808260ff1660ff16815260200191505060405180910390f35b34801561060957600080fd5b506106126118db565b6040518082815260200191505060405180910390f35b34801561063457600080fd5b5061063d611917565b6040518082815260200191505060405180910390f35b34801561065f57600080fd5b50610694600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061193f565b6040518082815260200191505060405180910390f35b3480156106b657600080fd5b506106f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061198b565b604051808215151515815260200191505060405180910390f35b34801561071b57600080fd5b5061075d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611c54565b005b34801561076b57600080fd5b50610774611e59565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107c257600080fd5b506107f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e7f565b604051808215151515815260200191505060405180910390f35b34801561081d57600080fd5b50610826611e9f565b6040518082815260200191505060405180910390f35b34801561084857600080fd5b50610887600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ea5565b604051808215151515815260200191505060405180910390f35b3480156108ad57600080fd5b506108e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612136565b6040518082815260200191505060405180910390f35b34801561090457600080fd5b50610939600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061217e565b005b34801561094757600080fd5b50610986600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061229e565b604051808381526020018281526020019250505060405180910390f35b3480156109af57600080fd5b506109e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123c4565b604051808215151515815260200191505060405180910390f35b348015610a0a57600080fd5b50610a136125a3565b604051808215151515815260200191505060405180910390f35b348015610a3957600080fd5b50610a6e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061268d565b005b348015610a7c57600080fd5b50610a85612796565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ad357600080fd5b50610adc6127bc565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b1c578082015181840152602081019050610b01565b50505050905090810190601f168015610b495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b6357600080fd5b50610b98600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127f5565b604051808215151515815260200191505060405180910390f35b348015610bbe57600080fd5b50610bfd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612815565b604051808215151515815260200191505060405180910390f35b348015610c2357600080fd5b50610c2c612b24565b6040518082815260200191505060405180910390f35b348015610c4e57600080fd5b50610c83600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b2e565b604051808215151515815260200191505060405180910390f35b348015610ca957600080fd5b50610ce8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b84565b604051808215151515815260200191505060405180910390f35b348015610d0e57600080fd5b50610d17612d80565b6040518082815260200191505060405180910390f35b348015610d3957600080fd5b50610d8e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d86565b6040518082815260200191505060405180910390f35b348015610db057600080fd5b50610e0860048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050612e0d565b604051808215151515815260200191505060405180910390f35b348015610e2e57600080fd5b50610e63600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f20565b005b348015610e7157600080fd5b50610ea6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613168565b005b348015610eb457600080fd5b50610ee9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613329565b005b348015610ef757600080fd5b50610f4f6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061367b565b005b600660009054906101000a900460ff1681565b6040805190810160405280600c81526020017f53706c61736820546f6b656e000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b60008060006110c184612136565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549250925092509193909250565b6000600154905090565b600080600060011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151514151561122c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f20426c61636b6c6973742063616c6c73000000000000000000000000000081525060200191505060405180910390fd5b611236868561229e565b91509150600081111561133d5761127086600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836137cc565b151561127b57600080fd5b7ff65b9db0f011dccfffefbe3d143fd6d52e538c858a0442072d763a05418b49a686600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a15b6113488686846137cc565b151561135357600080fd5b6000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156113b05760016008600082825401925050819055505b6001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825401925050819055506001600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254019250508190555060016007600082825401925050819055506001925050509392505050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600090505b825181101561157d57611566838281518110151561155757fe5b90602001906020020151611583565b1561157057600191505b808060010191505061153d565b50919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561175c576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b81518110156118ae57600060056000848481518110151561184657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611829565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b601281565b60006119126009547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613b8690919063ffffffff16565b905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000821480611a9457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611a9283600954613b9f90919063ffffffff16565b115b15611aa25760009050611c4e565b611aac8383613bbb565b50611ac282600954613b9f90919063ffffffff16565b6009819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6009541415611b3a576001600660006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a15b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415611b975760016008600082825401925050819055505b6001600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254019250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055506001600760008282540192505081905550600190505b92915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008160ff1610158015611d31575060648160ff1611155b1515611da5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e76616c69642074617820616d6f756e74000000000000000000000000000081525060200191505060405180910390fd5b6001600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b60075481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611fb6576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061204a565b611fc98382613b8690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080600083925060009150600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156123b657600a9050600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123a357600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690505b6123ad8482613e42565b80935081945050505b828292509250509250929050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561248b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561259e576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561266a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900460ff1615151561268657600080fd5b6000905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600681526020017f53706c617368000000000000000000000000000000000000000000000000000081525081565b60046020528060005260406000206000915054906101000a900460ff1681565b600080600060011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515151415156128e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f20426c61636b6c6973742063616c6c73000000000000000000000000000081525060200191505060405180910390fd5b6128ed338561229e565b9150915060008111156129f357612926600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613eb2565b151561293157600080fd5b7ff65b9db0f011dccfffefbe3d143fd6d52e538c858a0442072d763a05418b49a633600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a15b6129fd8583613eb2565b1515612a0857600080fd5b6000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415612a655760016008600082825401925050819055505b6001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825401925050819055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282540192505081905550600160076000828254019250508190555060019250505092915050565b6000600954905090565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000612c1582600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9f90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60085481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612ed5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600090505b8251811015612f1a57612f038382815181101515612ef457fe5b906020019060200201516123c4565b15612f0d57600191505b8080600101915050612eda565b50919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612fe5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156130a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600f8190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561322d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561326957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156133f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b600090505b600f80549050811015613677578173ffffffffffffffffffffffffffffffffffffffff16600f828154811015156134e957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561366a57600f6001600f805490500381548110151561354757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f8281548110151561358157fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600f6001600f805490500381548110151561363857fe5b9060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055613677565b80806001019150506134b6565b5050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b81518110156137c857600160056000848481518110151561376057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050613743565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561380957600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561385657600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156138e157600080fd5b613932826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b8690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139c5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9f90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a9682600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b8690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000828211151515613b9457fe5b818303905092915050565b60008183019050828110151515613bb257fe5b80905092915050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613c7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f742077686974656c6973746564000000000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900460ff16151515613c9a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613cd657600080fd5b613ceb82600154613b9f90919063ffffffff16565b600181905550613d42826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9f90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080613e6e6064613e608560ff16876140d190919063ffffffff16565b61410990919063ffffffff16565b9050613ea36064613e95613e8660648760ff16613b86565b876140d190919063ffffffff16565b61410990919063ffffffff16565b91508181915091509250929050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613eef57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515613f3c57600080fd5b613f8d826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b8690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614020826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b9f90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808314156140e45760009050614103565b81830290508183828115156140f557fe5b041415156140ff57fe5b8090505b92915050565b6000818381151561411657fe5b049050929150505600a165627a7a72305820829e6c74c54f28916e5c56bfc57d08a82139d0af836b57a602397b5482874d7d002900000000000000000000000000000000000000000000d3c21bcecceda1000000

Deployed ByteCode Sourcemap

12961:6818:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11936:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11936:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13084:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13084:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;13084:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9204:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9204:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13224:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13224:44:0;;;;;;;;;;;;;;;;;;;;;;;18233:166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18233:166:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6062:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6062:91:0;;;;;;;;;;;;;;;;;;;;;;;15729:661;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15729:661:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3835:272;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3835:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3319:258;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3319:258:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1734:190;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1734:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13275:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13275:46:0;;;;;;;;;;;;;;;;;;;;;;;13182:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13182:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17734:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17734:122:0;;;;;;;;;;;;;;;;;;;;;;;17934:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17934:83:0;;;;;;;;;;;;;;;;;;;;;;;18476:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18476:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14477:703;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14477:703:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18593:246;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18593:246:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13473:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13473:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1274:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1274:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13328:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13328:23:0;;;;;;;;;;;;;;;;;;;;;;;11152:450;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11152:450:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6902:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6902:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18847:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18847:119:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17064:602;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17064:602:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2327:251;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2327:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15278:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15278:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14089:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14089:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;313:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;313:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13135:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13135:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;13135:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1226:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1226:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16425:631;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16425:631:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18084:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18084:93:0;;;;;;;;;;;;;;;;;;;;;;;19666:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19666:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10376:280;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10376:280:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13358:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13358:22:0;;;;;;;;;;;;;;;;;;;;;;;9751:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9751:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2813:262;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2813:262:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18974:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18974:214:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;988:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;988:192:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19196:462;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19196:462:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1928:186;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1928:186:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11936:35;;;;;;;;;;;;;:::o;13084:44::-;;;;;;;;;;;;;;;;;;;;:::o;9204:206::-;9271:4;9320:6;9288:7;:19;9296:10;9288:19;;;;;;;;;;;;;;;:29;9308:8;9288:29;;;;;;;;;;;;;;;:38;;;;9363:8;9342:38;;9351:10;9342:38;;;9373:6;9342:38;;;;;;;;;;;;;;;;;;9398:4;9391:11;;9204:206;;;;:::o;13224:44::-;13258:10;13224:44;:::o;18233:166::-;18287:7;18296;18305;18332:17;18342:6;18332:9;:17::i;:::-;18351:5;:13;18357:6;18351:13;;;;;;;;;;;;;;;:17;;;18370:5;:13;18376:6;18370:13;;;;;;;;;;;;;;;:20;;;18324:67;;;;;;18233:166;;;;;:::o;6062:91::-;6106:7;6133:12;;6126:19;;6062:91;:::o;15729:661::-;15823:4;15843:21;15866:17;1692:4;1668:28;;1669:9;:21;1679:10;1669:21;;;;;;;;;;;;;;;;;;;;;;;;;1668:22;:28;;;1660:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15887:37;15910:5;15917:6;15887:22;:37::i;:::-;15842:82;;;;15953:1;15941:9;:13;15937:164;;;15978:50;15997:5;16004:12;;;;;;;;;;;16018:9;15978:18;:50::i;:::-;15970:59;;;;;;;;16049:40;16058:5;16065:12;;;;;;;;;;;16079:9;16049:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15937:164;16119:45;16138:5;16145:3;16150:13;16119:18;:45::i;:::-;16111:54;;;;;;;;16223:1;16205:5;:10;16211:3;16205:10;;;;;;;;;;;;;;;:14;;;:19;16201:64;;;16252:1;16241:7;;:12;;;;;;;;;;;16201:64;16295:1;16277:5;:10;16283:3;16277:10;;;;;;;;;;;;;;;:14;;;:19;;;;;;;;;;;16327:1;16307:5;:12;16313:5;16307:12;;;;;;;;;;;;;;;:16;;;:21;;;;;;;;;;;16353:1;16341:8;;:13;;;;;;;;;;;16374:4;16367:11;;15729:661;;;;;;;:::o;3835:272::-;3915:12;3945:9;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3957:1;3945:13;;3940:160;3964:5;:12;3960:1;:16;3940:160;;;4002:36;4029:5;4035:1;4029:8;;;;;;;;;;;;;;;;;;4002:26;:36::i;:::-;3998:91;;;4069:4;4059:14;;3998:91;3978:3;;;;;;;3940:160;;;3835:272;;;;:::o;3319:258::-;3394:12;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3423:9;:15;3433:4;3423:15;;;;;;;;;;;;;;;;;;;;;;;;;3419:151;;;3473:5;3455:9;:15;3465:4;3455:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;3498:31;3524:4;3498:31;;;;;;;;;;;;;;;;;;;;;;3554:4;3544:14;;3419:151;3319:258;;;:::o;1734:190::-;1826:9;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1822:97;1838:16;:23;1836:1;:25;1822:97;;;1906:5;1875:9;:30;1885:16;1902:1;1885:19;;;;;;;;;;;;;;;;;;1875:30;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;1862:3;;;;;;;1822:97;;;1734:190;;:::o;13275:46::-;13258:10;13275:46;:::o;13182:35::-;13215:2;13182:35;:::o;17734:122::-;17790:7;17817:31;17834:13;;13258:10;17817:16;;:31;;;;:::i;:::-;17810:38;;17734:122;:::o;17934:83::-;17970:7;13258:10;17990:19;;17934:83;:::o;18476:109::-;18531:7;18557:5;:13;18563:6;18557:13;;;;;;;;;;;;;;;:20;;;18550:27;;18476:109;;;:::o;14477:703::-;14547:4;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14628:1;14617:7;:12;:57;;;;13258:10;14633:26;14651:7;14633:13;;:17;;:26;;;;:::i;:::-;:41;14617:57;14613:102;;;14698:5;14691:12;;;;14613:102;14743:24;14754:3;14759:7;14743:10;:24::i;:::-;;14794:26;14812:7;14794:13;;:17;;:26;;;;:::i;:::-;14778:13;:42;;;;13258:10;14837:13;;:29;14833:118;;;14901:4;14883:15;;:22;;;;;;;;;;;;;;;;;;14925:14;;;;;;;;;;14833:118;15008:1;14990:5;:10;14996:3;14990:10;;;;;;;;;;;;;;;:14;;;:19;14986:64;;;15037:1;15026:7;;:12;;;;;;;;;;;14986:64;15080:1;15062:5;:10;15068:3;15062:10;;;;;;;;;;;;;;;:14;;;:19;;;;;;;;;;;15113:7;15092:5;:10;15098:3;15092:10;;;;;;;;;;;;;;;:17;;;:28;;;;;;;;;;;15145:1;15133:8;;:13;;;;;;;;;;;15166:4;15159:11;;802:1;14477:703;;;;:::o;18593:246::-;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18705:1;18694:7;:12;;;;:30;;;;;18721:3;18710:7;:14;;;;18694:30;18686:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18783:4;18758:13;:22;18772:7;18758:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;18824:7;18798:14;:23;18813:7;18798:23;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;18593:246;;:::o;13473:27::-;;;;;;;;;;;;;:::o;1274:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;13328:23::-;;;;:::o;11152:450::-;11235:4;11252:13;11268:7;:19;11276:10;11268:19;;;;;;;;;;;;;;;:29;11288:8;11268:29;;;;;;;;;;;;;;;;11252:45;;11331:8;11312:16;:27;11308:188;;;11388:1;11356:7;:19;11364:10;11356:19;;;;;;;;;;;;;;;:29;11376:8;11356:29;;;;;;;;;;;;;;;:33;;;;11308:188;;;11454:30;11467:16;11454:8;:12;;:30;;;;:::i;:::-;11422:7;:19;11430:10;11422:19;;;;;;;;;;;;;;;:29;11442:8;11422:29;;;;;;;;;;;;;;;:62;;;;11308:188;11532:8;11511:61;;11520:10;11511:61;;;11542:7;:19;11550:10;11542:19;;;;;;;;;;;;;;;:29;11562:8;11542:29;;;;;;;;;;;;;;;;11511:61;;;;;;;;;;;;;;;;;;11590:4;11583:11;;11152:450;;;;;:::o;6902:107::-;6958:7;6985:8;:16;6994:6;6985:16;;;;;;;;;;;;;;;;6978:23;;6902:107;;;:::o;18847:119::-;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18953:5;18928:13;:22;18942:7;18928:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;18847:119;:::o;17064:602::-;17148:21;17171:17;17299:16;17216:6;17200:22;;17245:1;17233:13;;17264:11;:18;17276:5;17264:18;;;;;;;;;;;;;;;;;;;;;;;;;17263:19;17259:356;;;13544:2;17299:29;;17425:13;:20;17439:5;17425:20;;;;;;;;;;;;;;;;;;;;;;;;;17421:94;;;17478:14;:21;17493:5;17478:21;;;;;;;;;;;;;;;;;;;;;;;;;17465:34;;17421:94;17560:43;17584:6;17592:10;17560:23;:43::i;:::-;17531:72;;;;;;;;17259:356;17633:13;17648:9;17625:33;;;;17064:602;;;;;;:::o;2327:251::-;2397:12;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2427:9;:15;2437:4;2427:15;;;;;;;;;;;;;;;;;;;;;;;;;2426:16;2422:149;;;2477:4;2459:9;:15;2469:4;2459:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;2501:29;2525:4;2501:29;;;;;;;;;;;;;;;;;;;;;;2555:4;2545:14;;2422:149;2327:251;;;:::o;15278:96::-;15337:4;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12019:15;;;;;;;;;;;12018:16;12010:25;;;;;;;;15361:5;15354:12;;15278:96;:::o;14089:118::-;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14183:16;14168:12;;:31;;;;;;;;;;;;;;;;;;14089:118;:::o;313:20::-;;;;;;;;;;;;;:::o;13135:40::-;;;;;;;;;;;;;;;;;;;;:::o;1226:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;16425:631::-;16500:4;16520:21;16543:17;1692:4;1668:28;;1669:9;:21;1679:10;1669:21;;;;;;;;;;;;;;;;;;;;;;;;;1668:22;:28;;;1660:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16564:42;16587:10;16599:6;16564:22;:42::i;:::-;16519:87;;;;16635:1;16623:9;:13;16619:158;;;16660:39;16675:12;;;;;;;;;;;16689:9;16660:14;:39::i;:::-;16652:48;;;;;;;;16720:45;16729:10;16741:12;;;;;;;;;;;16755:9;16720:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16619:158;16795:34;16810:3;16815:13;16795:14;:34::i;:::-;16787:43;;;;;;;;16888:1;16870:5;:10;16876:3;16870:10;;;;;;;;;;;;;;;:14;;;:19;16866:64;;;16917:1;16906:7;;:12;;;;;;;;;;;16866:64;16960:1;16942:5;:10;16948:3;16942:10;;;;;;;;;;;;;;;:14;;;:19;;;;;;;;;;;16997:1;16972:5;:17;16978:10;16972:17;;;;;;;;;;;;;;;:21;;;:26;;;;;;;;;;;17023:1;17011:8;;:13;;;;;;;;;;;17044:4;17037:11;;16425:631;;;;;;:::o;18084:93::-;18129:7;18156:13;;18149:20;;18084:93;:::o;19666:110::-;19724:4;19748:11;:20;19760:7;19748:20;;;;;;;;;;;;;;;;;;;;;;;;;19741:27;;19666:110;;;:::o;10376:280::-;10454:4;10503:46;10537:11;10503:7;:19;10511:10;10503:19;;;;;;;;;;;;;;;:29;10523:8;10503:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;10471:7;:19;10479:10;10471:19;;;;;;;;;;;;;;;:29;10491:8;10471:29;;;;;;;;;;;;;;;:78;;;;10586:8;10565:61;;10574:10;10565:61;;;10596:7;:19;10604:10;10596:19;;;;;;;;;;;;;;;:29;10616:8;10596:29;;;;;;;;;;;;;;;;10565:61;;;;;;;;;;;;;;;;;;10644:4;10637:11;;10376:280;;;;:::o;13358:22::-;;;;:::o;9751:134::-;9825:7;9852;:15;9860:6;9852:15;;;;;;;;;;;;;;;:25;9868:8;9852:25;;;;;;;;;;;;;;;;9845:32;;9751:134;;;;:::o;2813:262::-;2888:12;2918:9;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:1;2918:13;;2913:155;2937:5;:12;2933:1;:16;2913:155;;;2975:31;2997:5;3003:1;2997:8;;;;;;;;;;;;;;;;;;2975:21;:31::i;:::-;2971:86;;;3037:4;3027:14;;2971:86;2951:3;;;;;;;2913:155;;;2813:262;;;;:::o;18974:214::-;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19056:11;:20;19068:7;19056:20;;;;;;;;;;;;;;;;;;;;;;;;;19055:21;19047:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19142:4;19119:11;:20;19131:7;19119:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;19157:9;19172:7;19157:23;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;19157:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18974:214;:::o;988:192::-;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1089:1;1069:22;;:8;:22;;;;1061:31;;;;;;;;1136:8;1108:37;;1129:5;;;;;;;;;;;1108:37;;;;;;;;;;;;1164:8;1156:5;;:16;;;;;;;;;;;;;;;;;;988:192;:::o;19196:462::-;19345:9;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19277:11;:20;19289:7;19277:20;;;;;;;;;;;;;;;;;;;;;;;;;19269:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19357:1;19345:13;;19340:311;19364:9;:16;;;;19360:1;:20;19340:311;;;19422:7;19406:23;;:9;19416:1;19406:12;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;19402:238;;;19465:9;19494:1;19475:9;:16;;;;:20;19465:31;;;;;;;;;;;;;;;;;;;;;;;;;;;19450:9;19460:1;19450:12;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;19538:5;19515:11;:20;19527:7;19515:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;19569:9;19598:1;19579:9;:16;;;;:20;19569:31;;;;;;;;;;;;;;;;;;19562:38;;;;;;;;;;;19619:5;;19402:238;19382:3;;;;;;;19340:311;;;19196:462;;:::o;1928:186::-;2015:9;771:5;;;;;;;;;;;757:19;;:10;:19;;;749:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2011:98;2027:16;:23;2025:1;:25;2011:98;;;2097:4;2066:9;:30;2076:16;2093:1;2076:19;;;;;;;;;;;;;;;;;;2066:30;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;2051:3;;;;;;;2011:98;;;1928:186;;:::o;8059:488::-;8141:4;8181:1;8166:17;;:3;:17;;;;8158:26;;;;;;;;8213:8;:15;8222:5;8213:15;;;;;;;;;;;;;;;;8203:6;:25;;8195:34;;;;;;;;8258:7;:14;8266:5;8258:14;;;;;;;;;;;;;;;:26;8273:10;8258:26;;;;;;;;;;;;;;;;8248:6;:36;;8240:45;;;;;;;;8316:27;8336:6;8316:8;:15;8325:5;8316:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8298:8;:15;8307:5;8298:15;;;;;;;;;;;;;;;:45;;;;8370:25;8388:6;8370:8;:13;8379:3;8370:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8354:8;:13;8363:3;8354:13;;;;;;;;;;;;;;;:41;;;;8435:38;8466:6;8435:7;:14;8443:5;8435:14;;;;;;;;;;;;;;;:26;8450:10;8435:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;8406:7;:14;8414:5;8406:14;;;;;;;;;;;;;;;:26;8421:10;8406:26;;;;;;;;;;;;;;;:67;;;;8505:3;8489:28;;8498:5;8489:28;;;8510:6;8489:28;;;;;;;;;;;;;;;;;;8535:4;8528:11;;8059:488;;;;;:::o;5088:123::-;5146:7;5178:1;5173;:6;;5166:14;;;;;;5202:1;5198;:5;5191:12;;5088:123;;;;:::o;5286:141::-;5344:9;5374:1;5370;:5;5366:9;;5398:1;5393;:6;;5386:14;;;;;;5418:1;5411:8;;5286:141;;;;:::o;12313:346::-;12398:4;1559:9;:21;1569:10;1559:21;;;;;;;;;;;;;;;;;;;;;;;;;1551:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12019:15;;;;;;;;;;;12018:16;12010:25;;;;;;;;12438:1;12423:17;;:3;:17;;;;12415:26;;;;;;;;12467:25;12484:7;12467:12;;:16;;:25;;;;:::i;:::-;12452:12;:40;;;;12519:26;12537:7;12519:8;:13;12528:3;12519:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;12503:8;:13;12512:3;12503:13;;;;;;;;;;;;;;;:42;;;;12566:3;12561:18;;;12571:7;12561:18;;;;;;;;;;;;;;;;;;12616:3;12595:34;;12612:1;12595:34;;;12621:7;12595:34;;;;;;;;;;;;;;;;;;12647:4;12640:11;;12313:346;;;;:::o;15382:291::-;15461:21;15484:17;15525:25;15546:3;15525:16;15536:4;15525:16;;:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;15513:37;;15577:44;15617:3;15577:35;15588:23;15601:3;15606:4;15588:23;;:12;:23::i;:::-;15577:6;:10;;:35;;;;:::i;:::-;:39;;:44;;;;:::i;:::-;15561:60;;15640:13;15655:9;15632:33;;;;15382:291;;;;;:::o;6326:355::-;6389:4;6429:1;6414:17;;:3;:17;;;;6406:26;;;;;;;;6461:8;:20;6470:10;6461:20;;;;;;;;;;;;;;;;6451:6;:30;;6443:39;;;;;;;;6518:32;6543:6;6518:8;:20;6527:10;6518:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6495:8;:20;6504:10;6495:20;;;;;;;;;;;;;;;:55;;;;6577:25;6595:6;6577:8;:13;6586:3;6577:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6561:8;:13;6570:3;6561:13;;;;;;;;;;;;;;;:41;;;;6639:3;6618:33;;6627:10;6618:33;;;6644:6;6618:33;;;;;;;;;;;;;;;;;;6669:4;6662:11;;6326:355;;;;:::o;4371:202::-;4429:9;4460:1;4455;:6;4451:47;;;4485:1;4478:8;;;;4451:47;4516:1;4512;:5;4508:9;;4544:1;4539;4535;:5;;;;;;;;:10;4528:18;;;;;;4564:1;4557:8;;4371:202;;;;;:::o;4668:295::-;4726:7;4954:1;4950;:5;;;;;;;;4943:12;;4668:295;;;;:::o

Swarm Source

bzzr://829e6c74c54f28916e5c56bfc57d08a82139d0af836b57a602397b5482874d7d
Loading