Contract 0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f 4

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x0ab00f84de73e58b965835c61c6d011ba4ef081bb81c9e5c86fdea3d707e9f47Get Airdrop146113072022-01-23 8:25:3039 mins ago0x84bbf6afd9fa0f6016e4cab72ef780c01dfd546a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00036747
0xcd061a19f7b7aba56b6bebc674dbaf6f4e6b1abb012a4991a8900a0912493f34Get Airdrop146109652022-01-23 8:08:2456 mins ago0x84bbf6afd9fa0f6016e4cab72ef780c01dfd546a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00036747
0x6ab8a53333024dc44e5e692a79caf3b00f89ba6a70af063ddd26f9f53febdc56Get Airdrop146109642022-01-23 8:08:2156 mins ago0x84bbf6afd9fa0f6016e4cab72ef780c01dfd546a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00036747
0x77c9ea63d34a88707be1a80b71275e36c83644c23d2c229c0c4d17bae0faf83dGet Airdrop146109532022-01-23 8:07:4857 mins ago0x84bbf6afd9fa0f6016e4cab72ef780c01dfd546a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00036747
0x9bb6a8c791966a11a4c1fa90cf68b51ff133dea736ad901e052bcbd858e9f63dGet Airdrop146109452022-01-23 8:07:2457 mins ago0x84bbf6afd9fa0f6016e4cab72ef780c01dfd546a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00036747
0xab72d73b27fd73d6a94b4c50a93aa57636ca48c261698f07cf6dd8c9a00925d2Get Airdrop146109422022-01-23 8:07:1557 mins ago0x84bbf6afd9fa0f6016e4cab72ef780c01dfd546a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00044247
0xca5b0e7e21270844480031cbe1a9bab88ee7974726e24b2ef930d90ab84d5aacTransfer146101262022-01-23 7:26:271 hr 38 mins ago0x0922ad9e6d8605fd652e564e3f9b51164168d521 IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.0004205322
0xc050630ef2ece271e136dd9a15bf10891c23d484ddae14f786be282517633a86Token Sale146073042022-01-23 5:05:173 hrs 59 mins ago0xb1f80619252289f43d3ce345b8706a30928bc731 IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0.05 BNB0.00046053
0x2e57be1f0b415360c1205485a961839d1e49f40ff91f4f6f74350a40b1f4051aGet Airdrop146072932022-01-23 5:04:444 hrs ago0xb1f80619252289f43d3ce345b8706a30928bc731 IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00046449
0x31b553e2eab9c70a360c870bdc8b95e89eb26990824b137d3eca4649de41ee36Get Airdrop146008392022-01-22 23:41:539 hrs 23 mins ago0x271015043b2df46beae0370bd6b45e895c7160c6 IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00038949
0xf3be246f41c3aae7bf70c941d5e43ab0963622441354604b88698b3be8035d39Get Airdrop146008362022-01-22 23:41:449 hrs 23 mins ago0x271015043b2df46beae0370bd6b45e895c7160c6 IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00038949
0xe59162b6c6e0324dd8ba240adf485707564b70638e2a3ac7ec9a622961068431Get Airdrop146008342022-01-22 23:41:389 hrs 23 mins ago0x271015043b2df46beae0370bd6b45e895c7160c6 IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00038949
0x201191595e2bd745b0f372a76a97111e5b810d209872e84b0a9c79be3d0cc5cfGet Airdrop146008202022-01-22 23:40:569 hrs 24 mins ago0x271015043b2df46beae0370bd6b45e895c7160c6 IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00046449
0x5de3a761a31106a2febfa2991f1e089c13a54b865abe4d9aa859748d1113422aGet Airdrop146004722022-01-22 23:23:329 hrs 41 mins ago0x82b38e81fa485c9e1be4b1fe9542ffa7d5b50f80 IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00038949
0x2ac3d720deef649d70b2269f1bfd0f9d810a2913074790d8d9dceaebc8ea26f8Get Airdrop146004682022-01-22 23:23:209 hrs 41 mins ago0x82b38e81fa485c9e1be4b1fe9542ffa7d5b50f80 IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00038949
0x813c9a11f8c48fada4dae8e660f96ebb230254accc0f83cd8aa78118417a8f89Get Airdrop146002282022-01-22 23:11:179 hrs 53 mins ago0x82b38e81fa485c9e1be4b1fe9542ffa7d5b50f80 IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00046449
0x66dc9d23374f6e69717126b6e3d24cbe94c8f069a330eebc6c236ce4a2fac1baGet Airdrop146001002022-01-22 23:04:5010 hrs ago0x964890c220357025f46ff323335ccf036d35c03a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00038955
0x59f0e608b3e9140abc3cf74db4cd45221eff5bcf9099a691f394240844840f45Get Airdrop146000832022-01-22 23:03:5910 hrs ago0x964890c220357025f46ff323335ccf036d35c03a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00038955
0x20d6e24033b135d87775ed64ee2aeec5bbcfa56ed9a21f743723e88656529f99Get Airdrop146000672022-01-22 23:03:1110 hrs 1 min ago0x964890c220357025f46ff323335ccf036d35c03a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00038955
0xbae0cc8433f43065977b533e7646e33bf393615bc4a8c15cce1917bfaa4d1687Get Airdrop145999822022-01-22 22:58:5610 hrs 6 mins ago0x964890c220357025f46ff323335ccf036d35c03a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00038955
0x3e74dc9e15ccf01f8aa722a7dee5cb84c9cbbb18026e2b7fc8c9dbe719f3d260Get Airdrop145999432022-01-22 22:56:5910 hrs 7 mins ago0x964890c220357025f46ff323335ccf036d35c03a IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00046455
0xd08b9603530d7f6c3bd112356ad0204f61073df597c12c483737a29080bcdf02Get Airdrop145995662022-01-22 22:38:0810 hrs 26 mins ago0xc436191e8050417c6fcad6cfd894b0f3b4a0b9fe IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00036747
0x939140b3d0b9d2fb2b8391085186f4ab2dbc0c120359e9678d0af14c3562835dGet Airdrop145995632022-01-22 22:37:5910 hrs 26 mins ago0xc436191e8050417c6fcad6cfd894b0f3b4a0b9fe IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00036747
0x158a1b5162a4338d96034d494ca9dc3fc2c37ef8b9295747ebc7622d81bca886Get Airdrop145995612022-01-22 22:37:5310 hrs 27 mins ago0xc436191e8050417c6fcad6cfd894b0f3b4a0b9fe IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00036747
0x99374b1c737cad3cd6dc29c952e9c0aba3487e5b02e4f5f27e8d91bbf1b70633Get Airdrop145995602022-01-22 22:37:5010 hrs 27 mins ago0xc436191e8050417c6fcad6cfd894b0f3b4a0b9fe IN  0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0 BNB0.00036747
[ Download CSV Export 
Latest 8 internal transactions
Parent Txn Hash Block From To Value
0x623c06a04ff8463d1458cb8b500b51e744953b08b8d934b372578726b3854032126397922021-11-14 10:36:0869 days 22 hrs ago 0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0x55cf0ae1a2c793f74157fa76620940663930b03c0.02 BNB
0xfa86b223469d7d650baa375e1ceeaadec92299736483f42b3dfa461f46f98c1b89791782021-07-08 14:42:00198 days 18 hrs ago 0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0x2af55b572968ed32503deac39a323a8fe44c8f5e0.01 BNB
0xd28107baf78a972ef6111b665ee1ca7f517be9b586bf335d3b6607e22c90395183237542021-06-15 17:10:17221 days 15 hrs ago 0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0xc0c860b5b59ddc89637acaee0e0585346e8fb8620.01 BNB
0xda4b0cf7c1662db9a4b5ded1f5a254e9a28d86f28625d346d3cbb63f22df7b6282908292021-06-14 13:19:52222 days 19 hrs ago 0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0x817c7b834b96cb9705deb9e7b20fcc30c766a5100.01 BNB
0x2fd1576754d61668c37e88ec09586e30a515742ad9b53bf5d3482e9ba3d5b1e381219012021-06-08 15:41:23228 days 17 hrs ago 0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0x5077f4e06aab9c512e39e03a696b45aced9243eb0.01 BNB
0x6941a8c59a2199af2ece4ec10a4c1eb2eeeda794f7127a8c3b5d19fb933a422f78954792021-05-31 18:30:40236 days 14 hrs ago 0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0xb3c8787e2f21ad05d164bdf0a62be27bc052868e0.01 BNB
0x85e83ef0270e0c8497aec70947a31ff3e83c916fa13237d76d0cb8d433417f3778107362021-05-28 19:36:36239 days 13 hrs ago 0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0xb3c8787e2f21ad05d164bdf0a62be27bc052868e0.01 BNB
0x6d7c3b2c938114c2cd118d1b6b3de815a30e4300ee114eedd70bd2f85b23ffa377545782021-05-26 20:37:47241 days 12 hrs ago 0x7ea2b25c1a558c6f9b4649358183152b0ea4c03f0x36e5c718910cb6ab23420bf3f07c63dee2a2ca430.01 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Bitchip

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-05-21
*/

/**
 * Twitter: https://twitter.com/BitchipFarm
 * Telegram Channel: https://t.me/bitchipfarm
 * Website: https://bitchip.farm
 */


// File: @openzeppelin/contracts/token/ERC20/IERC20.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: 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
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol



pragma solidity ^0.8.0;


/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

// File: @openzeppelin/contracts/utils/Context.sol



pragma solidity ^0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

// File: @openzeppelin/contracts/token/ERC20/ERC20.sol



pragma solidity ^0.8.0;




/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}

// File: @openzeppelin/contracts/access/Ownable.sol



pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts/Bitchip.sol


pragma solidity ^0.8.0;




contract ERC20Extends is Ownable {
    function _safeTransferToken(address _token) internal virtual onlyOwner {
        IERC20 token = IERC20(_token);
        uint amount = token.balanceOf(address(this));
        token.transfer(msg.sender, amount);        
    }
    function safeTransferToken(address _token) public onlyOwner {
        _safeTransferToken(_token);
    }
}

contract Bitchip is ERC20,ERC20Extends {
    struct UserInfo {
        uint point;
        uint total;
        uint current;
    }
    uint256 public aSBlock; 
    uint256 public aEBlock; 
    uint256 public aCap; 
    uint256 public aTot; 
    uint256 public aAmt; 
    uint256 public sSBlock; 
    uint256 public sEBlock; 
    uint256 public sCap; 
    uint256 public sTot; 
    uint256 public sChunk; 
    uint256 public sPrice; 
    uint public initChunk = 0.01 ether;
    uint public stats = 40;
    uint public numOfShare = 10;
    uint public rightReward = 0.01 ether;
    uint256 public tokenBurn;
    mapping(address => UserInfo) users;

    constructor() ERC20("BITCHIP", "CHIP") {
        _mint(msg.sender, 10000000000000000*10**decimals());
        _mint(address(this), 40000000000000000*10**decimals());
        startSale(block.number, 999999999, initChunk,10000000000000*10**decimals(), 2000000000000);
        startAirdrop(block.number,999999999,500000000*10**decimals(),2000000000000);
        tokenBurn = 50;
    }
    function decimals() public view virtual override returns (uint8) {
        return 8;
    }
    function changeNumOfShare(uint newNum) public onlyOwner{
        numOfShare = newNum;
    }
    function changeStats(uint newStats) public onlyOwner {
        stats = newStats;
    }
    function changeRightReward(uint newRight) public onlyOwner {
        rightReward = newRight;
    }
    function changeTokenBurn(uint newBurn) public onlyOwner {
        tokenBurn = newBurn;
    }
    function _transfer(address sender, address recipient, uint256 amount) internal virtual override {
        uint burnAmount = (amount*tokenBurn)/1000;
        uint transferAmount = amount - burnAmount;
        super._transfer(sender,recipient,transferAmount);
        super._transfer(sender,address(0x000000000000000000000000000000000000dEaD),burnAmount);
    }
    function getAirdrop(address _refer) public returns (bool success){
        require(aSBlock <= block.number && block.number <= aEBlock);
        require(aTot < aCap || aCap == 0);
        aTot ++;
        if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000){
          _transfer(address(this), _refer, aAmt);
        }
        _transfer(address(this), msg.sender, aAmt);
        return true;
      }

    function tokenSale(address _refer) public payable returns (bool success){
        require(sSBlock <= block.number && block.number <= sEBlock);
        require(sTot < sCap || sCap == 0);
        require(msg.value >= sChunk);
        uint256 _eth = msg.value;
        uint256 _tkns;
        _tkns = (sPrice*_eth) / 1 ether;
        sTot ++;
        if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000){
            _calcPoint(_refer);
            _transfer(address(this), _refer, _tkns);
        }
        
        _transfer(address(this), msg.sender, _tkns);
        return true;
    }
    function _calcPoint(address user) private {
       UserInfo storage refer = users[user];
       refer.total += 1;
       refer.current += 1;
       if (refer.current >= numOfShare){
           refer.current = 0;
           refer.point += 1;
       }
    }

    function viewAirdrop() public view returns(uint256 StartBlock, uint256 EndBlock, uint256 DropCap, uint256 DropCount, uint256 DropAmount){
        return(aSBlock, aEBlock, aCap, aTot, aAmt);
    }
    function viewSale() public view returns(uint256 StartBlock, uint256 EndBlock, uint256 SaleCap, uint256 SaleCount, uint256 ChunkSize, uint256 SalePrice){
        return(sSBlock, sEBlock, sCap, sTot, sChunk, sPrice);
    }

    function viewStats(address _user) public view returns(uint point,uint total, uint current){
        UserInfo memory user = users[_user];
        return (user.point,user.total,user.current);
    }
  
    function startAirdrop(uint256 _aSBlock, uint256 _aEBlock, uint256 _aAmt, uint256 _aCap) public onlyOwner {
        aSBlock = _aSBlock;
        aEBlock = _aEBlock;
        aAmt = _aAmt;
        aCap = _aCap;
        aTot = 0;
    }
    function startSale(uint256 _sSBlock, uint256 _sEBlock, uint256 _sChunk, uint256 _sPrice, uint256 _sCap) public onlyOwner{
        sSBlock = _sSBlock;
        sEBlock = _sEBlock;
        sChunk = _sChunk;
        sPrice =_sPrice;
        sCap = _sCap;
        sTot = 0;
    }
    

    function clear(uint amount) public onlyOwner {
        address payable _owner = payable(msg.sender);
        _owner.transfer(amount);
    }
    // 
    function addRightTree() public{
        UserInfo storage user = users[msg.sender];
        require(user.point > 0);
        uint mul = user.point;
        user.point = 0;
        address payable refer = payable(msg.sender);
        refer.transfer(rightReward*mul);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"aAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aEBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aSBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aTot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addRightTree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"changeNumOfShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRight","type":"uint256"}],"name":"changeRightReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newStats","type":"uint256"}],"name":"changeStats","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBurn","type":"uint256"}],"name":"changeTokenBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"clear","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_refer","type":"address"}],"name":"getAirdrop","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initChunk","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numOfShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rightReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sChunk","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sEBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sSBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sTot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"safeTransferToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_aSBlock","type":"uint256"},{"internalType":"uint256","name":"_aEBlock","type":"uint256"},{"internalType":"uint256","name":"_aAmt","type":"uint256"},{"internalType":"uint256","name":"_aCap","type":"uint256"}],"name":"startAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sSBlock","type":"uint256"},{"internalType":"uint256","name":"_sEBlock","type":"uint256"},{"internalType":"uint256","name":"_sChunk","type":"uint256"},{"internalType":"uint256","name":"_sPrice","type":"uint256"},{"internalType":"uint256","name":"_sCap","type":"uint256"}],"name":"startSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stats","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_refer","type":"address"}],"name":"tokenSale","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewAirdrop","outputs":[{"internalType":"uint256","name":"StartBlock","type":"uint256"},{"internalType":"uint256","name":"EndBlock","type":"uint256"},{"internalType":"uint256","name":"DropCap","type":"uint256"},{"internalType":"uint256","name":"DropCount","type":"uint256"},{"internalType":"uint256","name":"DropAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewSale","outputs":[{"internalType":"uint256","name":"StartBlock","type":"uint256"},{"internalType":"uint256","name":"EndBlock","type":"uint256"},{"internalType":"uint256","name":"SaleCap","type":"uint256"},{"internalType":"uint256","name":"SaleCount","type":"uint256"},{"internalType":"uint256","name":"ChunkSize","type":"uint256"},{"internalType":"uint256","name":"SalePrice","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"viewStats","outputs":[{"internalType":"uint256","name":"point","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"current","type":"uint256"}],"stateMutability":"view","type":"function"}]

6080604052662386f26fc100006011556028601255600a601355662386f26fc100006014553480156200003157600080fd5b506040518060400160405280600781526020017f42495443484950000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f43484950000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000b6929190620005d3565b508060049080519060200190620000cf929190620005d3565b5050506000620000e4620002b460201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001c63362000198620002bc60201b60201c565b600a620001a691906200080c565b662386f26fc10000620001ba919062000949565b620002c560201b60201c565b6200020930620001db620002bc60201b60201c565b600a620001e991906200080c565b668e1bc9bf040000620001fd919062000949565b620002c560201b60201c565b6200025a43633b9ac9ff60115462000226620002bc60201b60201c565b600a6200023491906200080c565b6509184e72a00062000247919062000949565b6501d1a94a20006200042a60201b60201c565b620002a643633b9ac9ff62000274620002bc60201b60201c565b600a6200028291906200080c565b631dcd650062000293919062000949565b6501d1a94a2000620004eb60201b60201c565b603260158190555062000ab4565b600033905090565b60006008905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000338576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200032f9062000704565b60405180910390fd5b6200034c60008383620005a460201b60201c565b806002600082825462000360919062000754565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620003b7919062000754565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200041e919062000726565b60405180910390a35050565b6200043a620002b460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000460620005a960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620004b9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004b090620006e2565b60405180910390fd5b84600b8190555083600c8190555082600f819055508160108190555080600d819055506000600e819055505050505050565b620004fb620002b460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000521620005a960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200057a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200057190620006e2565b60405180910390fd5b836006819055508260078190555081600a8190555080600881905550600060098190555050505050565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620005e190620009c1565b90600052602060002090601f01602090048101928262000605576000855562000651565b82601f106200062057805160ff191683800117855562000651565b8280016001018555821562000651579182015b828111156200065057825182559160200191906001019062000633565b5b50905062000660919062000664565b5090565b5b808211156200067f57600081600090555060010162000665565b5090565b60006200069260208362000743565b91506200069f8262000a62565b602082019050919050565b6000620006b9601f8362000743565b9150620006c68262000a8b565b602082019050919050565b620006dc81620009aa565b82525050565b60006020820190508181036000830152620006fd8162000683565b9050919050565b600060208201905081810360008301526200071f81620006aa565b9050919050565b60006020820190506200073d6000830184620006d1565b92915050565b600082825260208201905092915050565b60006200076182620009aa565b91506200076e83620009aa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620007a657620007a5620009f7565b5b828201905092915050565b6000808291508390505b60018511156200080357808604811115620007db57620007da620009f7565b5b6001851615620007eb5780820291505b8081029050620007fb8562000a55565b9450620007bb565b94509492505050565b60006200081982620009aa565b91506200082683620009b4565b9250620008557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200085d565b905092915050565b6000826200086f576001905062000942565b816200087f576000905062000942565b8160018114620008985760028114620008a357620008d9565b600191505062000942565b60ff841115620008b857620008b7620009f7565b5b8360020a915084821115620008d257620008d1620009f7565b5b5062000942565b5060208310610133831016604e8410600b8410161715620009135782820a9050838111156200090d576200090c620009f7565b5b62000942565b620009228484846001620007b1565b925090508184048111156200093c576200093b620009f7565b5b81810290505b9392505050565b60006200095682620009aa565b91506200096383620009aa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200099f576200099e620009f7565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620009da57607f821691505b60208210811415620009f157620009f062000a26565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b612f2f8062000ac46000396000f3fe6080604052600436106102675760003560e01c80637d17028311610144578063c03ca6cd116100b6578063d69b197f1161007a578063d69b197f14610934578063d80528ae14610963578063dd62ed3e1461098e578063f2fde38b146109cb578063f974514a146109f4578063fc88471214610a1d57610267565b8063c03ca6cd1461084d578063c0fe1af81461088c578063c465a3db146108b5578063c65ffcf3146108e0578063ced4138a1461090957610267565b80639d5f9dfb116101085780639d5f9dfb14610729578063a457c2d714610754578063a695cb7f14610791578063a9059cbb146107bc578063af5f65ee146107f9578063b691a1271461082457610267565b80637d170283146106545780638da5cb5b1461067f578063933fe660146106aa57806395d89b41146106d55780639c5c94191461070057610267565b806346bce47d116101dd5780636643ef9f116101a15780636643ef9f146105515780636a450f011461058157806370a08231146105ac578063715018a6146105e957806376f25a84146106005780637c9e75c01461062957610267565b806346bce47d146104755780634a7781d9146104a05780634d1d03d1146104cb57806354aeebe4146104fb5780635a36b84d1461052657610267565b806315d8f7e41161022f57806315d8f7e41461035157806318160ddd1461037c5780631dc4f9ea146103a757806323b872dd146103d0578063313ce5671461040d578063395093511461043857610267565b806301f8e8851461026c578063069f5bdd1461029557806306fdde03146102d2578063095ea7b3146102fd57806309ccc51c1461033a575b600080fd5b34801561027857600080fd5b50610293600480360381019061028e91906123a3565b610a48565b005b3480156102a157600080fd5b506102bc60048036038101906102b7919061228a565b610ace565b6040516102c991906126c3565b60405180910390f35b3480156102de57600080fd5b506102e7610bc9565b6040516102f491906126de565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f919061233e565b610c5b565b60405161033191906126c3565b60405180910390f35b34801561034657600080fd5b5061034f610c79565b005b34801561035d57600080fd5b50610366610d3e565b6040516103739190612820565b60405180910390f35b34801561038857600080fd5b50610391610d44565b60405161039e9190612820565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c99190612458565b610d4e565b005b3480156103dc57600080fd5b506103f760048036038101906103f291906122ef565b610dfc565b60405161040491906126c3565b60405180910390f35b34801561041957600080fd5b50610422610efd565b60405161042f9190612926565b60405180910390f35b34801561044457600080fd5b5061045f600480360381019061045a919061233e565b610f06565b60405161046c91906126c3565b60405180910390f35b34801561048157600080fd5b5061048a610fb2565b6040516104979190612820565b60405180910390f35b3480156104ac57600080fd5b506104b5610fb8565b6040516104c29190612820565b60405180910390f35b3480156104d757600080fd5b506104e0610fbe565b6040516104f2969594939291906128c5565b60405180910390f35b34801561050757600080fd5b50610510610fed565b60405161051d9190612820565b60405180910390f35b34801561053257600080fd5b5061053b610ff3565b6040516105489190612820565b60405180910390f35b61056b6004803603810190610566919061228a565b610ff9565b60405161057891906126c3565b60405180910390f35b34801561058d57600080fd5b50610596611134565b6040516105a39190612820565b60405180910390f35b3480156105b857600080fd5b506105d360048036038101906105ce919061228a565b61113a565b6040516105e09190612820565b60405180910390f35b3480156105f557600080fd5b506105fe611182565b005b34801561060c57600080fd5b50610627600480360381019061062291906123f5565b6112bf565b005b34801561063557600080fd5b5061063e611365565b60405161064b9190612820565b60405180910390f35b34801561066057600080fd5b5061066961136b565b6040516106769190612820565b60405180910390f35b34801561068b57600080fd5b50610694611371565b6040516106a1919061267f565b60405180910390f35b3480156106b657600080fd5b506106bf61139b565b6040516106cc9190612820565b60405180910390f35b3480156106e157600080fd5b506106ea6113a1565b6040516106f791906126de565b60405180910390f35b34801561070c57600080fd5b50610727600480360381019061072291906123a3565b611433565b005b34801561073557600080fd5b5061073e6114b9565b60405161074b9190612820565b60405180910390f35b34801561076057600080fd5b5061077b6004803603810190610776919061233e565b6114bf565b60405161078891906126c3565b60405180910390f35b34801561079d57600080fd5b506107a66115b3565b6040516107b39190612820565b60405180910390f35b3480156107c857600080fd5b506107e360048036038101906107de919061233e565b6115b9565b6040516107f091906126c3565b60405180910390f35b34801561080557600080fd5b5061080e6115d7565b60405161081b9190612820565b60405180910390f35b34801561083057600080fd5b5061084b600480360381019061084691906123a3565b6115dd565b005b34801561085957600080fd5b50610874600480360381019061086f919061228a565b611663565b6040516108839392919061283b565b60405180910390f35b34801561089857600080fd5b506108b360048036038101906108ae91906123a3565b6116f0565b005b3480156108c157600080fd5b506108ca6117bc565b6040516108d79190612820565b60405180910390f35b3480156108ec57600080fd5b506109076004803603810190610902919061228a565b6117c2565b005b34801561091557600080fd5b5061091e61184a565b60405161092b9190612820565b60405180910390f35b34801561094057600080fd5b50610949611850565b60405161095a959493929190612872565b60405180910390f35b34801561096f57600080fd5b50610978611878565b6040516109859190612820565b60405180910390f35b34801561099a57600080fd5b506109b560048036038101906109b091906122b3565b61187e565b6040516109c29190612820565b60405180910390f35b3480156109d757600080fd5b506109f260048036038101906109ed919061228a565b611905565b005b348015610a0057600080fd5b50610a1b6004803603810190610a1691906123a3565b611ab1565b005b348015610a2957600080fd5b50610a32611b37565b604051610a3f9190612820565b60405180910390f35b610a50611b3d565b73ffffffffffffffffffffffffffffffffffffffff16610a6e611371565b73ffffffffffffffffffffffffffffffffffffffff1614610ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abb906127a0565b60405180910390fd5b8060158190555050565b60004360065411158015610ae457506007544311155b610aed57600080fd5b6008546009541080610b0157506000600854145b610b0a57600080fd5b60096000815480929190610b1d90612b2c565b91905055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610b6757506000610b648361113a565b14155b8015610ba05750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610bb357610bb23083600a54611b45565b5b610bc03033600a54611b45565b60019050919050565b606060038054610bd890612afa565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0490612afa565b8015610c515780601f10610c2657610100808354040283529160200191610c51565b820191906000526020600020905b815481529060010190602001808311610c3457829003601f168201915b5050505050905090565b6000610c6f610c68611b3d565b8484611b93565b6001905092915050565b6000601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015411610ccd57600080fd5b6000816000015490506000826000018190555060003390508073ffffffffffffffffffffffffffffffffffffffff166108fc83601454610d0d91906129e4565b9081150290604051600060405180830381858888f19350505050158015610d38573d6000803e3d6000fd5b50505050565b60065481565b6000600254905090565b610d56611b3d565b73ffffffffffffffffffffffffffffffffffffffff16610d74611371565b73ffffffffffffffffffffffffffffffffffffffff1614610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc1906127a0565b60405180910390fd5b84600b8190555083600c8190555082600f819055508160108190555080600d819055506000600e819055505050505050565b6000610e09848484611b45565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e54611b3d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecb90612780565b60405180910390fd5b610ef185610ee0611b3d565b8584610eec9190612a3e565b611b93565b60019150509392505050565b60006008905090565b6000610fa8610f13611b3d565b848460016000610f21611b3d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa3919061295d565b611b93565b6001905092915050565b60135481565b60105481565b600080600080600080600b54600c54600d54600e54600f54601054955095509550955095509550909192939495565b60095481565b60115481565b600043600b541115801561100f5750600c544311155b61101857600080fd5b600d54600e54108061102c57506000600d54145b61103557600080fd5b600f5434101561104457600080fd5b60003490506000670de0b6b3a76400008260105461106291906129e4565b61106c91906129b3565b9050600e600081548092919061108190612b2c565b91905055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156110cb575060006110c88561113a565b14155b80156111045750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561111e5761111284611d5e565b61111d308583611b45565b5b611129303383611b45565b600192505050919050565b60145481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61118a611b3d565b73ffffffffffffffffffffffffffffffffffffffff166111a8611371565b73ffffffffffffffffffffffffffffffffffffffff16146111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f5906127a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6112c7611b3d565b73ffffffffffffffffffffffffffffffffffffffff166112e5611371565b73ffffffffffffffffffffffffffffffffffffffff161461133b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611332906127a0565b60405180910390fd5b836006819055508260078190555081600a8190555080600881905550600060098190555050505050565b60155481565b600e5481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b6060600480546113b090612afa565b80601f01602080910402602001604051908101604052809291908181526020018280546113dc90612afa565b80156114295780601f106113fe57610100808354040283529160200191611429565b820191906000526020600020905b81548152906001019060200180831161140c57829003601f168201915b5050505050905090565b61143b611b3d565b73ffffffffffffffffffffffffffffffffffffffff16611459611371565b73ffffffffffffffffffffffffffffffffffffffff16146114af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a6906127a0565b60405180910390fd5b8060148190555050565b600f5481565b600080600160006114ce611b3d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561158b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158290612800565b60405180910390fd5b6115a8611596611b3d565b8585846115a39190612a3e565b611b93565b600191505092915050565b60075481565b60006115cd6115c6611b3d565b8484611b45565b6001905092915050565b600d5481565b6115e5611b3d565b73ffffffffffffffffffffffffffffffffffffffff16611603611371565b73ffffffffffffffffffffffffffffffffffffffff1614611659576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611650906127a0565b60405180910390fd5b8060138190555050565b600080600080601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180606001604052908160008201548152602001600182015481526020016002820154815250509050806000015181602001518260400151935093509350509193909250565b6116f8611b3d565b73ffffffffffffffffffffffffffffffffffffffff16611716611371565b73ffffffffffffffffffffffffffffffffffffffff161461176c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611763906127a0565b60405180910390fd5b60003390508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156117b7573d6000803e3d6000fd5b505050565b60085481565b6117ca611b3d565b73ffffffffffffffffffffffffffffffffffffffff166117e8611371565b73ffffffffffffffffffffffffffffffffffffffff161461183e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611835906127a0565b60405180910390fd5b61184781611e11565b50565b600c5481565b6000806000806000600654600754600854600954600a54945094509450945094509091929394565b60125481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61190d611b3d565b73ffffffffffffffffffffffffffffffffffffffff1661192b611371565b73ffffffffffffffffffffffffffffffffffffffff1614611981576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611978906127a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e890612720565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab9611b3d565b73ffffffffffffffffffffffffffffffffffffffff16611ad7611371565b73ffffffffffffffffffffffffffffffffffffffff1614611b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b24906127a0565b60405180910390fd5b8060128190555050565b600a5481565b600033905090565b60006103e860155483611b5891906129e4565b611b6291906129b3565b905060008183611b729190612a3e565b9050611b7f858583611fb2565b611b8c8561dead84611fb2565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfa906127e0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6a90612740565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d519190612820565b60405180910390a3505050565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506001816001016000828254611db6919061295d565b925050819055506001816002016000828254611dd2919061295d565b92505081905550601354816002015410611e0d57600081600201819055506001816000016000828254611e05919061295d565b925050819055505b5050565b611e19611b3d565b73ffffffffffffffffffffffffffffffffffffffff16611e37611371565b73ffffffffffffffffffffffffffffffffffffffff1614611e8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e84906127a0565b60405180910390fd5b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611ecd919061267f565b60206040518083038186803b158015611ee557600080fd5b505afa158015611ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1d91906123cc565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611f5a92919061269a565b602060405180830381600087803b158015611f7457600080fd5b505af1158015611f88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fac919061237a565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612022576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612019906127c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612092576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208990612700565b60405180910390fd5b61209d838383612231565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211a90612760565b60405180910390fd5b818161212f9190612a3e565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121bf919061295d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122239190612820565b60405180910390a350505050565b505050565b60008135905061224581612eb4565b92915050565b60008151905061225a81612ecb565b92915050565b60008135905061226f81612ee2565b92915050565b60008151905061228481612ee2565b92915050565b60006020828403121561229c57600080fd5b60006122aa84828501612236565b91505092915050565b600080604083850312156122c657600080fd5b60006122d485828601612236565b92505060206122e585828601612236565b9150509250929050565b60008060006060848603121561230457600080fd5b600061231286828701612236565b935050602061232386828701612236565b925050604061233486828701612260565b9150509250925092565b6000806040838503121561235157600080fd5b600061235f85828601612236565b925050602061237085828601612260565b9150509250929050565b60006020828403121561238c57600080fd5b600061239a8482850161224b565b91505092915050565b6000602082840312156123b557600080fd5b60006123c384828501612260565b91505092915050565b6000602082840312156123de57600080fd5b60006123ec84828501612275565b91505092915050565b6000806000806080858703121561240b57600080fd5b600061241987828801612260565b945050602061242a87828801612260565b935050604061243b87828801612260565b925050606061244c87828801612260565b91505092959194509250565b600080600080600060a0868803121561247057600080fd5b600061247e88828901612260565b955050602061248f88828901612260565b94505060406124a088828901612260565b93505060606124b188828901612260565b92505060806124c288828901612260565b9150509295509295909350565b6124d881612a72565b82525050565b6124e781612a84565b82525050565b60006124f882612941565b612502818561294c565b9350612512818560208601612ac7565b61251b81612c02565b840191505092915050565b600061253360238361294c565b915061253e82612c13565b604082019050919050565b600061255660268361294c565b915061256182612c62565b604082019050919050565b600061257960228361294c565b915061258482612cb1565b604082019050919050565b600061259c60268361294c565b91506125a782612d00565b604082019050919050565b60006125bf60288361294c565b91506125ca82612d4f565b604082019050919050565b60006125e260208361294c565b91506125ed82612d9e565b602082019050919050565b600061260560258361294c565b915061261082612dc7565b604082019050919050565b600061262860248361294c565b915061263382612e16565b604082019050919050565b600061264b60258361294c565b915061265682612e65565b604082019050919050565b61266a81612ab0565b82525050565b61267981612aba565b82525050565b600060208201905061269460008301846124cf565b92915050565b60006040820190506126af60008301856124cf565b6126bc6020830184612661565b9392505050565b60006020820190506126d860008301846124de565b92915050565b600060208201905081810360008301526126f881846124ed565b905092915050565b6000602082019050818103600083015261271981612526565b9050919050565b6000602082019050818103600083015261273981612549565b9050919050565b600060208201905081810360008301526127598161256c565b9050919050565b600060208201905081810360008301526127798161258f565b9050919050565b60006020820190508181036000830152612799816125b2565b9050919050565b600060208201905081810360008301526127b9816125d5565b9050919050565b600060208201905081810360008301526127d9816125f8565b9050919050565b600060208201905081810360008301526127f98161261b565b9050919050565b600060208201905081810360008301526128198161263e565b9050919050565b60006020820190506128356000830184612661565b92915050565b60006060820190506128506000830186612661565b61285d6020830185612661565b61286a6040830184612661565b949350505050565b600060a0820190506128876000830188612661565b6128946020830187612661565b6128a16040830186612661565b6128ae6060830185612661565b6128bb6080830184612661565b9695505050505050565b600060c0820190506128da6000830189612661565b6128e76020830188612661565b6128f46040830187612661565b6129016060830186612661565b61290e6080830185612661565b61291b60a0830184612661565b979650505050505050565b600060208201905061293b6000830184612670565b92915050565b600081519050919050565b600082825260208201905092915050565b600061296882612ab0565b915061297383612ab0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156129a8576129a7612b75565b5b828201905092915050565b60006129be82612ab0565b91506129c983612ab0565b9250826129d9576129d8612ba4565b5b828204905092915050565b60006129ef82612ab0565b91506129fa83612ab0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a3357612a32612b75565b5b828202905092915050565b6000612a4982612ab0565b9150612a5483612ab0565b925082821015612a6757612a66612b75565b5b828203905092915050565b6000612a7d82612a90565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612ae5578082015181840152602081019050612aca565b83811115612af4576000848401525b50505050565b60006002820490506001821680612b1257607f821691505b60208210811415612b2657612b25612bd3565b5b50919050565b6000612b3782612ab0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612b6a57612b69612b75565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b612ebd81612a72565b8114612ec857600080fd5b50565b612ed481612a84565b8114612edf57600080fd5b50565b612eeb81612ab0565b8114612ef657600080fd5b5056fea2646970667358221220c3536e739e71acf9ea47a1332999c2e5b13e51371f695b7ac0f72f4e7624562e64736f6c63430008040033

Deployed ByteCode Sourcemap

18192:4948:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19656:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20126:461;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6668:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8835:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22860:277;;;;;;;;;;;;;:::i;:::-;;18333:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7788:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22408:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9486:422;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19259:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10317:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18716:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18617:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21728:222;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;18420:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18646:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20595:653;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18750:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7959:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17184:148;;;;;;;;;;;;;:::i;:::-;;22166:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18793:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18561:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16533:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18474:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6887:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19550:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18588:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11035:377;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18363:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8299:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18534:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19357:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21958:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;22703:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18393:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18080:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18504:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21525:197;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;18687:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8537:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17487:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19456:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18447:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19656:94;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19735:7:::1;19723:9;:19;;;;19656:94:::0;:::o;20126:461::-;20178:12;20221;20210:7;;:23;;:50;;;;;20253:7;;20237:12;:23;;20210:50;20202:59;;;;;;20287:4;;20280;;:11;:24;;;;20303:1;20295:4;;:9;20280:24;20272:33;;;;;;20316:4;;:7;;;;;;;;;:::i;:::-;;;;;;20351:6;20337:20;;:10;:20;;;;:46;;;;;20382:1;20361:17;20371:6;20361:9;:17::i;:::-;:22;;20337:46;:102;;;;;20397:42;20387:52;;:6;:52;;;;20337:102;20334:169;;;20453:38;20471:4;20478:6;20486:4;;20453:9;:38::i;:::-;20334:169;20513:42;20531:4;20538:10;20550:4;;20513:9;:42::i;:::-;20573:4;20566:11;;20126:461;;;:::o;6668:100::-;6722:13;6755:5;6748:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6668:100;:::o;8835:169::-;8918:4;8935:39;8944:12;:10;:12::i;:::-;8958:7;8967:6;8935:8;:39::i;:::-;8992:4;8985:11;;8835:169;;;;:::o;22860:277::-;22901:21;22925:5;:17;22931:10;22925:17;;;;;;;;;;;;;;;22901:41;;22974:1;22961:4;:10;;;:14;22953:23;;;;;;22987:8;22998:4;:10;;;22987:21;;23032:1;23019:4;:10;;:14;;;;23044:21;23076:10;23044:43;;23098:5;:14;;:31;23125:3;23113:11;;:15;;;;:::i;:::-;23098:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22860:277;;;:::o;18333:22::-;;;;:::o;7788:108::-;7849:7;7876:12;;7869:19;;7788:108;:::o;22408:281::-;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22549:8:::1;22539:7;:18;;;;22578:8;22568:7;:18;;;;22606:7;22597:6;:16;;;;22632:7;22624:6;:15;;;;22657:5;22650:4;:12;;;;22680:1;22673:4;:8;;;;22408:281:::0;;;;;:::o;9486:422::-;9592:4;9609:36;9619:6;9627:9;9638:6;9609:9;:36::i;:::-;9658:24;9685:11;:19;9697:6;9685:19;;;;;;;;;;;;;;;:33;9705:12;:10;:12::i;:::-;9685:33;;;;;;;;;;;;;;;;9658:60;;9757:6;9737:16;:26;;9729:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9819:57;9828:6;9836:12;:10;:12::i;:::-;9869:6;9850:16;:25;;;;:::i;:::-;9819:8;:57::i;:::-;9896:4;9889:11;;;9486:422;;;;;:::o;19259:92::-;19317:5;19342:1;19335:8;;19259:92;:::o;10317:215::-;10405:4;10422:80;10431:12;:10;:12::i;:::-;10445:7;10491:10;10454:11;:25;10466:12;:10;:12::i;:::-;10454:25;;;;;;;;;;;;;;;:34;10480:7;10454:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10422:8;:80::i;:::-;10520:4;10513:11;;10317:215;;;;:::o;18716:27::-;;;;:::o;18617:21::-;;;;:::o;21728:222::-;21768:18;21788:16;21806:15;21823:17;21842;21861;21897:7;;21906;;21915:4;;21921;;21927:6;;21935;;21890:52;;;;;;;;;;;;21728:222;;;;;;:::o;18420:19::-;;;;:::o;18646:34::-;;;;:::o;20595:653::-;20654:12;20697;20686:7;;:23;;:50;;;;;20729:7;;20713:12;:23;;20686:50;20678:59;;;;;;20763:4;;20756;;:11;:24;;;;20779:1;20771:4;;:9;20756:24;20748:33;;;;;;20813:6;;20800:9;:19;;20792:28;;;;;;20831:12;20846:9;20831:24;;20866:13;20914:7;20906:4;20899:6;;:11;;;;:::i;:::-;20898:23;;;;:::i;:::-;20890:31;;20932:4;;:7;;;;;;;;;:::i;:::-;;;;;;20967:6;20953:20;;:10;:20;;;;:46;;;;;20998:1;20977:17;20987:6;20977:9;:17::i;:::-;:22;;20953:46;:102;;;;;21013:42;21003:52;;:6;:52;;;;20953:102;20950:205;;;21071:18;21082:6;21071:10;:18::i;:::-;21104:39;21122:4;21129:6;21137:5;21104:9;:39::i;:::-;20950:205;21175:43;21193:4;21200:10;21212:5;21175:9;:43::i;:::-;21236:4;21229:11;;;;20595:653;;;:::o;18750:36::-;;;;:::o;7959:127::-;8033:7;8060:9;:18;8070:7;8060:18;;;;;;;;;;;;;;;;8053:25;;7959:127;;;:::o;17184:148::-;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17291:1:::1;17254:40;;17275:6;;;;;;;;;;;17254:40;;;;;;;;;;;;17322:1;17305:6;;:19;;;;;;;;;;;;;;;;;;17184:148::o:0;22166:236::-;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22292:8:::1;22282:7;:18;;;;22321:8;22311:7;:18;;;;22347:5;22340:4;:12;;;;22370:5;22363:4;:12;;;;22393:1;22386:4;:8;;;;22166:236:::0;;;;:::o;18793:24::-;;;;:::o;18561:19::-;;;;:::o;16533:87::-;16579:7;16606:6;;;;;;;;;;;16599:13;;16533:87;:::o;18474:22::-;;;;:::o;6887:104::-;6943:13;6976:7;6969:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6887:104;:::o;19550:100::-;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19634:8:::1;19620:11;:22;;;;19550:100:::0;:::o;18588:21::-;;;;:::o;11035:377::-;11128:4;11145:24;11172:11;:25;11184:12;:10;:12::i;:::-;11172:25;;;;;;;;;;;;;;;:34;11198:7;11172:34;;;;;;;;;;;;;;;;11145:61;;11245:15;11225:16;:35;;11217:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11313:67;11322:12;:10;:12::i;:::-;11336:7;11364:15;11345:16;:34;;;;:::i;:::-;11313:8;:67::i;:::-;11400:4;11393:11;;;11035:377;;;;:::o;18363:22::-;;;;:::o;8299:175::-;8385:4;8402:42;8412:12;:10;:12::i;:::-;8426:9;8437:6;8402:9;:42::i;:::-;8462:4;8455:11;;8299:175;;;;:::o;18534:19::-;;;;:::o;19357:93::-;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19436:6:::1;19423:10;:19;;;;19357:93:::0;:::o;21958:198::-;22012:10;22023;22035:12;22059:20;22082:5;:12;22088:5;22082:12;;;;;;;;;;;;;;;22059:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22113:4;:10;;;22124:4;:10;;;22135:4;:12;;;22105:43;;;;;;;21958:198;;;;;:::o;22703:142::-;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22759:22:::1;22792:10;22759:44;;22814:6;:15;;:23;22830:6;22814:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;16824:1;22703:142:::0;:::o;18393:19::-;;;;:::o;18080:105::-;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18151:26:::1;18170:6;18151:18;:26::i;:::-;18080:105:::0;:::o;18504:22::-;;;;:::o;21525:197::-;21568:18;21588:16;21606:15;21623:17;21642:18;21679:7;;21688;;21697:4;;21703;;21709;;21672:42;;;;;;;;;;21525:197;;;;;:::o;18687:22::-;;;;:::o;8537:151::-;8626:7;8653:11;:18;8665:5;8653:18;;;;;;;;;;;;;;;:27;8672:7;8653:27;;;;;;;;;;;;;;;;8646:34;;8537:151;;;;:::o;17487:244::-;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17596:1:::1;17576:22;;:8;:22;;;;17568:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;17686:8;17657:38;;17678:6;;;;;;;;;;;17657:38;;;;;;;;;;;;17715:8;17706:6;;:17;;;;;;;;;;;;;;;;;;17487:244:::0;:::o;19456:88::-;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19528:8:::1;19520:5;:16;;;;19456:88:::0;:::o;18447:19::-;;;;:::o;4255:98::-;4308:7;4335:10;4328:17;;4255:98;:::o;19756:364::-;19863:15;19900:4;19889:9;;19882:6;:16;;;;:::i;:::-;19881:23;;;;:::i;:::-;19863:41;;19915:19;19946:10;19937:6;:19;;;;:::i;:::-;19915:41;;19967:48;19983:6;19990:9;20000:14;19967:15;:48::i;:::-;20026:86;20042:6;20057:42;20101:10;20026:15;:86::i;:::-;19756:364;;;;;:::o;14391:346::-;14510:1;14493:19;;:5;:19;;;;14485:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14591:1;14572:21;;:7;:21;;;;14564:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14675:6;14645:11;:18;14657:5;14645:18;;;;;;;;;;;;;;;:27;14664:7;14645:27;;;;;;;;;;;;;;;:36;;;;14713:7;14697:32;;14706:5;14697:32;;;14722:6;14697:32;;;;;;:::i;:::-;;;;;;;;14391:346;;;:::o;21254:263::-;21306:22;21331:5;:11;21337:4;21331:11;;;;;;;;;;;;;;;21306:36;;21367:1;21352:5;:11;;;:16;;;;;;;:::i;:::-;;;;;;;;21395:1;21378:5;:13;;;:18;;;;;;;:::i;:::-;;;;;;;;21427:10;;21410:5;:13;;;:27;21406:104;;21468:1;21452:5;:13;;:17;;;;21498:1;21483:5;:11;;;:16;;;;;;;:::i;:::-;;;;;;;;21406:104;21254:263;;:::o;17847:227::-;16764:12;:10;:12::i;:::-;16753:23;;:7;:5;:7::i;:::-;:23;;;16745:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17929:12:::1;17951:6;17929:29;;17969:11;17983:5;:15;;;18007:4;17983:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17969:44;;18024:5;:14;;;18039:10;18051:6;18024:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16824:1;;17847:227:::0;:::o;11902:604::-;12026:1;12008:20;;:6;:20;;;;12000:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12110:1;12089:23;;:9;:23;;;;12081:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12165:47;12186:6;12194:9;12205:6;12165:20;:47::i;:::-;12225:21;12249:9;:17;12259:6;12249:17;;;;;;;;;;;;;;;;12225:41;;12302:6;12285:13;:23;;12277:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12398:6;12382:13;:22;;;;:::i;:::-;12362:9;:17;12372:6;12362:17;;;;;;;;;;;;;;;:42;;;;12439:6;12415:9;:20;12425:9;12415:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12480:9;12463:35;;12472:6;12463:35;;;12491:6;12463:35;;;;;;:::i;:::-;;;;;;;;11902:604;;;;:::o;15340:92::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:137::-;206:5;237:6;231:13;222:22;;253:30;277:5;253:30;:::i;:::-;212:77;;;;:::o;295:139::-;341:5;379:6;366:20;357:29;;395:33;422:5;395:33;:::i;:::-;347:87;;;;:::o;440:143::-;497:5;528:6;522:13;513:22;;544:33;571:5;544:33;:::i;:::-;503:80;;;;:::o;589:262::-;648:6;697:2;685:9;676:7;672:23;668:32;665:2;;;713:1;710;703:12;665:2;756:1;781:53;826:7;817:6;806:9;802:22;781:53;:::i;:::-;771:63;;727:117;655:196;;;;:::o;857:407::-;925:6;933;982:2;970:9;961:7;957:23;953:32;950:2;;;998:1;995;988:12;950:2;1041:1;1066:53;1111:7;1102:6;1091:9;1087:22;1066:53;:::i;:::-;1056:63;;1012:117;1168:2;1194:53;1239:7;1230:6;1219:9;1215:22;1194:53;:::i;:::-;1184:63;;1139:118;940:324;;;;;:::o;1270:552::-;1347:6;1355;1363;1412:2;1400:9;1391:7;1387:23;1383:32;1380:2;;;1428:1;1425;1418:12;1380:2;1471:1;1496:53;1541:7;1532:6;1521:9;1517:22;1496:53;:::i;:::-;1486:63;;1442:117;1598:2;1624:53;1669:7;1660:6;1649:9;1645:22;1624:53;:::i;:::-;1614:63;;1569:118;1726:2;1752:53;1797:7;1788:6;1777:9;1773:22;1752:53;:::i;:::-;1742:63;;1697:118;1370:452;;;;;:::o;1828:407::-;1896:6;1904;1953:2;1941:9;1932:7;1928:23;1924:32;1921:2;;;1969:1;1966;1959:12;1921:2;2012:1;2037:53;2082:7;2073:6;2062:9;2058:22;2037:53;:::i;:::-;2027:63;;1983:117;2139:2;2165:53;2210:7;2201:6;2190:9;2186:22;2165:53;:::i;:::-;2155:63;;2110:118;1911:324;;;;;:::o;2241:278::-;2308:6;2357:2;2345:9;2336:7;2332:23;2328:32;2325:2;;;2373:1;2370;2363:12;2325:2;2416:1;2441:61;2494:7;2485:6;2474:9;2470:22;2441:61;:::i;:::-;2431:71;;2387:125;2315:204;;;;:::o;2525:262::-;2584:6;2633:2;2621:9;2612:7;2608:23;2604:32;2601:2;;;2649:1;2646;2639:12;2601:2;2692:1;2717:53;2762:7;2753:6;2742:9;2738:22;2717:53;:::i;:::-;2707:63;;2663:117;2591:196;;;;:::o;2793:284::-;2863:6;2912:2;2900:9;2891:7;2887:23;2883:32;2880:2;;;2928:1;2925;2918:12;2880:2;2971:1;2996:64;3052:7;3043:6;3032:9;3028:22;2996:64;:::i;:::-;2986:74;;2942:128;2870:207;;;;:::o;3083:698::-;3169:6;3177;3185;3193;3242:3;3230:9;3221:7;3217:23;3213:33;3210:2;;;3259:1;3256;3249:12;3210:2;3302:1;3327:53;3372:7;3363:6;3352:9;3348:22;3327:53;:::i;:::-;3317:63;;3273:117;3429:2;3455:53;3500:7;3491:6;3480:9;3476:22;3455:53;:::i;:::-;3445:63;;3400:118;3557:2;3583:53;3628:7;3619:6;3608:9;3604:22;3583:53;:::i;:::-;3573:63;;3528:118;3685:2;3711:53;3756:7;3747:6;3736:9;3732:22;3711:53;:::i;:::-;3701:63;;3656:118;3200:581;;;;;;;:::o;3787:844::-;3882:6;3890;3898;3906;3914;3963:3;3951:9;3942:7;3938:23;3934:33;3931:2;;;3980:1;3977;3970:12;3931:2;4023:1;4048:53;4093:7;4084:6;4073:9;4069:22;4048:53;:::i;:::-;4038:63;;3994:117;4150:2;4176:53;4221:7;4212:6;4201:9;4197:22;4176:53;:::i;:::-;4166:63;;4121:118;4278:2;4304:53;4349:7;4340:6;4329:9;4325:22;4304:53;:::i;:::-;4294:63;;4249:118;4406:2;4432:53;4477:7;4468:6;4457:9;4453:22;4432:53;:::i;:::-;4422:63;;4377:118;4534:3;4561:53;4606:7;4597:6;4586:9;4582:22;4561:53;:::i;:::-;4551:63;;4505:119;3921:710;;;;;;;;:::o;4637:118::-;4724:24;4742:5;4724:24;:::i;:::-;4719:3;4712:37;4702:53;;:::o;4761:109::-;4842:21;4857:5;4842:21;:::i;:::-;4837:3;4830:34;4820:50;;:::o;4876:364::-;4964:3;4992:39;5025:5;4992:39;:::i;:::-;5047:71;5111:6;5106:3;5047:71;:::i;:::-;5040:78;;5127:52;5172:6;5167:3;5160:4;5153:5;5149:16;5127:52;:::i;:::-;5204:29;5226:6;5204:29;:::i;:::-;5199:3;5195:39;5188:46;;4968:272;;;;;:::o;5246:366::-;5388:3;5409:67;5473:2;5468:3;5409:67;:::i;:::-;5402:74;;5485:93;5574:3;5485:93;:::i;:::-;5603:2;5598:3;5594:12;5587:19;;5392:220;;;:::o;5618:366::-;5760:3;5781:67;5845:2;5840:3;5781:67;:::i;:::-;5774:74;;5857:93;5946:3;5857:93;:::i;:::-;5975:2;5970:3;5966:12;5959:19;;5764:220;;;:::o;5990:366::-;6132:3;6153:67;6217:2;6212:3;6153:67;:::i;:::-;6146:74;;6229:93;6318:3;6229:93;:::i;:::-;6347:2;6342:3;6338:12;6331:19;;6136:220;;;:::o;6362:366::-;6504:3;6525:67;6589:2;6584:3;6525:67;:::i;:::-;6518:74;;6601:93;6690:3;6601:93;:::i;:::-;6719:2;6714:3;6710:12;6703:19;;6508:220;;;:::o;6734:366::-;6876:3;6897:67;6961:2;6956:3;6897:67;:::i;:::-;6890:74;;6973:93;7062:3;6973:93;:::i;:::-;7091:2;7086:3;7082:12;7075:19;;6880:220;;;:::o;7106:366::-;7248:3;7269:67;7333:2;7328:3;7269:67;:::i;:::-;7262:74;;7345:93;7434:3;7345:93;:::i;:::-;7463:2;7458:3;7454:12;7447:19;;7252:220;;;:::o;7478:366::-;7620:3;7641:67;7705:2;7700:3;7641:67;:::i;:::-;7634:74;;7717:93;7806:3;7717:93;:::i;:::-;7835:2;7830:3;7826:12;7819:19;;7624:220;;;:::o;7850:366::-;7992:3;8013:67;8077:2;8072:3;8013:67;:::i;:::-;8006:74;;8089:93;8178:3;8089:93;:::i;:::-;8207:2;8202:3;8198:12;8191:19;;7996:220;;;:::o;8222:366::-;8364:3;8385:67;8449:2;8444:3;8385:67;:::i;:::-;8378:74;;8461:93;8550:3;8461:93;:::i;:::-;8579:2;8574:3;8570:12;8563:19;;8368:220;;;:::o;8594:118::-;8681:24;8699:5;8681:24;:::i;:::-;8676:3;8669:37;8659:53;;:::o;8718:112::-;8801:22;8817:5;8801:22;:::i;:::-;8796:3;8789:35;8779:51;;:::o;8836:222::-;8929:4;8967:2;8956:9;8952:18;8944:26;;8980:71;9048:1;9037:9;9033:17;9024:6;8980:71;:::i;:::-;8934:124;;;;:::o;9064:332::-;9185:4;9223:2;9212:9;9208:18;9200:26;;9236:71;9304:1;9293:9;9289:17;9280:6;9236:71;:::i;:::-;9317:72;9385:2;9374:9;9370:18;9361:6;9317:72;:::i;:::-;9190:206;;;;;:::o;9402:210::-;9489:4;9527:2;9516:9;9512:18;9504:26;;9540:65;9602:1;9591:9;9587:17;9578:6;9540:65;:::i;:::-;9494:118;;;;:::o;9618:313::-;9731:4;9769:2;9758:9;9754:18;9746:26;;9818:9;9812:4;9808:20;9804:1;9793:9;9789:17;9782:47;9846:78;9919:4;9910:6;9846:78;:::i;:::-;9838:86;;9736:195;;;;:::o;9937:419::-;10103:4;10141:2;10130:9;10126:18;10118:26;;10190:9;10184:4;10180:20;10176:1;10165:9;10161:17;10154:47;10218:131;10344:4;10218:131;:::i;:::-;10210:139;;10108:248;;;:::o;10362:419::-;10528:4;10566:2;10555:9;10551:18;10543:26;;10615:9;10609:4;10605:20;10601:1;10590:9;10586:17;10579:47;10643:131;10769:4;10643:131;:::i;:::-;10635:139;;10533:248;;;:::o;10787:419::-;10953:4;10991:2;10980:9;10976:18;10968:26;;11040:9;11034:4;11030:20;11026:1;11015:9;11011:17;11004:47;11068:131;11194:4;11068:131;:::i;:::-;11060:139;;10958:248;;;:::o;11212:419::-;11378:4;11416:2;11405:9;11401:18;11393:26;;11465:9;11459:4;11455:20;11451:1;11440:9;11436:17;11429:47;11493:131;11619:4;11493:131;:::i;:::-;11485:139;;11383:248;;;:::o;11637:419::-;11803:4;11841:2;11830:9;11826:18;11818:26;;11890:9;11884:4;11880:20;11876:1;11865:9;11861:17;11854:47;11918:131;12044:4;11918:131;:::i;:::-;11910:139;;11808:248;;;:::o;12062:419::-;12228:4;12266:2;12255:9;12251:18;12243:26;;12315:9;12309:4;12305:20;12301:1;12290:9;12286:17;12279:47;12343:131;12469:4;12343:131;:::i;:::-;12335:139;;12233:248;;;:::o;12487:419::-;12653:4;12691:2;12680:9;12676:18;12668:26;;12740:9;12734:4;12730:20;12726:1;12715:9;12711:17;12704:47;12768:131;12894:4;12768:131;:::i;:::-;12760:139;;12658:248;;;:::o;12912:419::-;13078:4;13116:2;13105:9;13101:18;13093:26;;13165:9;13159:4;13155:20;13151:1;13140:9;13136:17;13129:47;13193:131;13319:4;13193:131;:::i;:::-;13185:139;;13083:248;;;:::o;13337:419::-;13503:4;13541:2;13530:9;13526:18;13518:26;;13590:9;13584:4;13580:20;13576:1;13565:9;13561:17;13554:47;13618:131;13744:4;13618:131;:::i;:::-;13610:139;;13508:248;;;:::o;13762:222::-;13855:4;13893:2;13882:9;13878:18;13870:26;;13906:71;13974:1;13963:9;13959:17;13950:6;13906:71;:::i;:::-;13860:124;;;;:::o;13990:442::-;14139:4;14177:2;14166:9;14162:18;14154:26;;14190:71;14258:1;14247:9;14243:17;14234:6;14190:71;:::i;:::-;14271:72;14339:2;14328:9;14324:18;14315:6;14271:72;:::i;:::-;14353;14421:2;14410:9;14406:18;14397:6;14353:72;:::i;:::-;14144:288;;;;;;:::o;14438:664::-;14643:4;14681:3;14670:9;14666:19;14658:27;;14695:71;14763:1;14752:9;14748:17;14739:6;14695:71;:::i;:::-;14776:72;14844:2;14833:9;14829:18;14820:6;14776:72;:::i;:::-;14858;14926:2;14915:9;14911:18;14902:6;14858:72;:::i;:::-;14940;15008:2;14997:9;14993:18;14984:6;14940:72;:::i;:::-;15022:73;15090:3;15079:9;15075:19;15066:6;15022:73;:::i;:::-;14648:454;;;;;;;;:::o;15108:775::-;15341:4;15379:3;15368:9;15364:19;15356:27;;15393:71;15461:1;15450:9;15446:17;15437:6;15393:71;:::i;:::-;15474:72;15542:2;15531:9;15527:18;15518:6;15474:72;:::i;:::-;15556;15624:2;15613:9;15609:18;15600:6;15556:72;:::i;:::-;15638;15706:2;15695:9;15691:18;15682:6;15638:72;:::i;:::-;15720:73;15788:3;15777:9;15773:19;15764:6;15720:73;:::i;:::-;15803;15871:3;15860:9;15856:19;15847:6;15803:73;:::i;:::-;15346:537;;;;;;;;;:::o;15889:214::-;15978:4;16016:2;16005:9;16001:18;15993:26;;16029:67;16093:1;16082:9;16078:17;16069:6;16029:67;:::i;:::-;15983:120;;;;:::o;16109:99::-;16161:6;16195:5;16189:12;16179:22;;16168:40;;;:::o;16214:169::-;16298:11;16332:6;16327:3;16320:19;16372:4;16367:3;16363:14;16348:29;;16310:73;;;;:::o;16389:305::-;16429:3;16448:20;16466:1;16448:20;:::i;:::-;16443:25;;16482:20;16500:1;16482:20;:::i;:::-;16477:25;;16636:1;16568:66;16564:74;16561:1;16558:81;16555:2;;;16642:18;;:::i;:::-;16555:2;16686:1;16683;16679:9;16672:16;;16433:261;;;;:::o;16700:185::-;16740:1;16757:20;16775:1;16757:20;:::i;:::-;16752:25;;16791:20;16809:1;16791:20;:::i;:::-;16786:25;;16830:1;16820:2;;16835:18;;:::i;:::-;16820:2;16877:1;16874;16870:9;16865:14;;16742:143;;;;:::o;16891:348::-;16931:7;16954:20;16972:1;16954:20;:::i;:::-;16949:25;;16988:20;17006:1;16988:20;:::i;:::-;16983:25;;17176:1;17108:66;17104:74;17101:1;17098:81;17093:1;17086:9;17079:17;17075:105;17072:2;;;17183:18;;:::i;:::-;17072:2;17231:1;17228;17224:9;17213:20;;16939:300;;;;:::o;17245:191::-;17285:4;17305:20;17323:1;17305:20;:::i;:::-;17300:25;;17339:20;17357:1;17339:20;:::i;:::-;17334:25;;17378:1;17375;17372:8;17369:2;;;17383:18;;:::i;:::-;17369:2;17428:1;17425;17421:9;17413:17;;17290:146;;;;:::o;17442:96::-;17479:7;17508:24;17526:5;17508:24;:::i;:::-;17497:35;;17487:51;;;:::o;17544:90::-;17578:7;17621:5;17614:13;17607:21;17596:32;;17586:48;;;:::o;17640:126::-;17677:7;17717:42;17710:5;17706:54;17695:65;;17685:81;;;:::o;17772:77::-;17809:7;17838:5;17827:16;;17817:32;;;:::o;17855:86::-;17890:7;17930:4;17923:5;17919:16;17908:27;;17898:43;;;:::o;17947:307::-;18015:1;18025:113;18039:6;18036:1;18033:13;18025:113;;;18124:1;18119:3;18115:11;18109:18;18105:1;18100:3;18096:11;18089:39;18061:2;18058:1;18054:10;18049:15;;18025:113;;;18156:6;18153:1;18150:13;18147:2;;;18236:1;18227:6;18222:3;18218:16;18211:27;18147:2;17996:258;;;;:::o;18260:320::-;18304:6;18341:1;18335:4;18331:12;18321:22;;18388:1;18382:4;18378:12;18409:18;18399:2;;18465:4;18457:6;18453:17;18443:27;;18399:2;18527;18519:6;18516:14;18496:18;18493:38;18490:2;;;18546:18;;:::i;:::-;18490:2;18311:269;;;;:::o;18586:233::-;18625:3;18648:24;18666:5;18648:24;:::i;:::-;18639:33;;18694:66;18687:5;18684:77;18681:2;;;18764:18;;:::i;:::-;18681:2;18811:1;18804:5;18800:13;18793:20;;18629:190;;;:::o;18825:180::-;18873:77;18870:1;18863:88;18970:4;18967:1;18960:15;18994:4;18991:1;18984:15;19011:180;19059:77;19056:1;19049:88;19156:4;19153:1;19146:15;19180:4;19177:1;19170:15;19197:180;19245:77;19242:1;19235:88;19342:4;19339:1;19332:15;19366:4;19363:1;19356:15;19383:102;19424:6;19475:2;19471:7;19466:2;19459:5;19455:14;19451:28;19441:38;;19431:54;;;:::o;19491:222::-;19631:34;19627:1;19619:6;19615:14;19608:58;19700:5;19695:2;19687:6;19683:15;19676:30;19597:116;:::o;19719:225::-;19859:34;19855:1;19847:6;19843:14;19836:58;19928:8;19923:2;19915:6;19911:15;19904:33;19825:119;:::o;19950:221::-;20090:34;20086:1;20078:6;20074:14;20067:58;20159:4;20154:2;20146:6;20142:15;20135:29;20056:115;:::o;20177:225::-;20317:34;20313:1;20305:6;20301:14;20294:58;20386:8;20381:2;20373:6;20369:15;20362:33;20283:119;:::o;20408:227::-;20548:34;20544:1;20536:6;20532:14;20525:58;20617:10;20612:2;20604:6;20600:15;20593:35;20514:121;:::o;20641:182::-;20781:34;20777:1;20769:6;20765:14;20758:58;20747:76;:::o;20829:224::-;20969:34;20965:1;20957:6;20953:14;20946:58;21038:7;21033:2;21025:6;21021:15;21014:32;20935:118;:::o;21059:223::-;21199:34;21195:1;21187:6;21183:14;21176:58;21268:6;21263:2;21255:6;21251:15;21244:31;21165:117;:::o;21288:224::-;21428:34;21424:1;21416:6;21412:14;21405:58;21497:7;21492:2;21484:6;21480:15;21473:32;21394:118;:::o;21518:122::-;21591:24;21609:5;21591:24;:::i;:::-;21584:5;21581:35;21571:2;;21630:1;21627;21620:12;21571:2;21561:79;:::o;21646:116::-;21716:21;21731:5;21716:21;:::i;:::-;21709:5;21706:32;21696:2;;21752:1;21749;21742:12;21696:2;21686:76;:::o;21768:122::-;21841:24;21859:5;21841:24;:::i;:::-;21834:5;21831:35;21821:2;;21880:1;21877;21870:12;21821:2;21811:79;:::o

Swarm Source

ipfs://c3536e739e71acf9ea47a1332999c2e5b13e51371f695b7ac0f72f4e7624562e
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.