Contract 0xcd95b05ebe61244de4df9c2c4123920f016a06df 3

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xdc0da955074be673c3cb31261a178d4c474843f005a7aa3d51aa166bdc9b10a9Approve112244202021-09-25 14:21:344 mins ago0x4065b335da9c290df34db13d36df96efb26c3b62 IN  Rose Finance: ROF Token0 BNB0.000225805
0x2c3299875b3559014bfc6dc0f0c34762c100e7fbef14222dc84efa173a07472cApprove112241892021-09-25 14:10:0116 mins ago0x21c6e0ba2583b6cd75ba169648c0f76c97df0178 IN  Rose Finance: ROF Token0 BNB0.000270966
0xfc5dc2f6f7beed59efb7e8ecd3413f77298f43019454643a83782408132a2839Approve112240272021-09-25 14:01:4924 mins ago0x3e236b0850d368393d0750e0f6fc0821437687e3 IN  Rose Finance: ROF Token0 BNB0.000225805
0x28b42b25a1bc447520b738096f78ce3cb1abba088036ce554ab47cb32c0c903aApprove112234752021-09-25 13:32:2153 mins ago0xaf896272566c6ea4fea56c9bc0fbf6973d8269e4 IN  Rose Finance: ROF Token0 BNB0.000270966
0x149ba4fd134ba1f594e015dd2a39e89560d78e17075c61fe6effec93c512294dTransfer112234142021-09-25 13:29:1857 mins ago0x4606e02367c3a9fb07cb0499b458487761e49a5c IN  Rose Finance: ROF Token0 BNB0.00018506
0x8af7ca1000535cdb120b8e561e7130f0993af118885ccc2dc861c8a7dbe7693aTransfer112223242021-09-25 12:34:471 hr 51 mins ago0x00c6c5bb5a8d640ecb72f96f08c9ca9c1a22081c IN  Rose Finance: ROF Token0 BNB0.00011012
0xa7afbccd40051f8ef7536c8394470c2e653fb6444f4d55f1669e67b066995ee4Approve112216062021-09-25 11:58:512 hrs 27 mins ago0x1d8e9c74370dbcf9804c7df1281ba1768f19106b IN  Rose Finance: ROF Token0 BNB0.000316127
0x112af1a2258833ae55543656a6f96cbc3025a0cd834284a93c0a215e3873021dApprove112211452021-09-25 11:35:462 hrs 50 mins ago0x203c985cac6b1ed2dd6591d020514e0586db370e IN  Rose Finance: ROF Token0 BNB0.000225805
0x75e367635fa95df59cd4326381f33ed5b731b01aad2d0cd03c7e50c55bb4706cApprove112206152021-09-25 11:09:133 hrs 17 mins ago0x3e9b46eecd844a98150547884abd4395b5e19eb7 IN  Rose Finance: ROF Token0 BNB0.000225805
0x5c6080c0b473db97c6a3227bf19a4b288839f253b3e5e45f911ae69966144614Approve112204032021-09-25 10:58:373 hrs 27 mins ago0x37d18c9fe1c4a7fe11efddc3589515c168307746 IN  Rose Finance: ROF Token0 BNB0.000225805
0x8559d06482ad273d5ce300b6e327849075f07fbdbe87b01c5a4da2b9a724be81Approve112202992021-09-25 10:53:253 hrs 32 mins ago0xf3cf3300132fd83b7a9f83919aef4a53718ec2e2 IN  Rose Finance: ROF Token0 BNB0.000225805
0xedea79c95fb909ec58da36d4f32309b330d1d50a4516ea20e1582a26b92bdfd9Transfer112201242021-09-25 10:44:403 hrs 41 mins ago0xd88668bed970e0c9788fdf0b9b387854e6c7ebf7 IN  Rose Finance: ROF Token0 BNB0.00011
0xc8947d35107c9a0daf13027c3556fddbaabdc9c004ba1f32ddfcca56fcea731dApprove112201102021-09-25 10:43:583 hrs 42 mins ago0x503fd6141a4b296f2cd9983688e97d79d3d825e4 IN  Rose Finance: ROF Token0 BNB0.000225805
0x6ac46b2a86e1a73de12fb51ea119c86acd3c4a03e4a30d2ee0ccda5110e02f36Approve112200542021-09-25 10:41:103 hrs 45 mins ago0x9fc366bb8e764852893283626c10d2da42c07c46 IN  Rose Finance: ROF Token0 BNB0.000225805
0x66cd55eb7b9a876f95f9b8028d644e209db6312b2e1de8fcc624f1723376db69Approve112199232021-09-25 10:34:373 hrs 51 mins ago0xca55422dc731f3b3abaef7b0f43327aab50f0062 IN  Rose Finance: ROF Token0 BNB0.000225805
0xeccd7c510de2151f24556bb49160594288caf103496dc036697cc7e67f2dc456Approve112195622021-09-25 10:16:344 hrs 9 mins ago0x17e21d3746cc7463d37f3cf349207682b37ce71b IN  Rose Finance: ROF Token0 BNB0.000225805
0x46bf99112a5e01e4716434ecf961394e463ecfe9ae902823b5c5bd213b956cf2Approve112193422021-09-25 10:05:344 hrs 20 mins ago0x67879eaa4edda63971fc4519ffef13e4fff8b1df IN  Rose Finance: ROF Token0 BNB0.000225805
0x2cbd63d8c74801afd19bfba4c31bdb4169057987c1de967b4242211102cae338Approve112191702021-09-25 9:56:584 hrs 29 mins ago0xa8909a36677a0294241df18c0fc8bf9a178fb519 IN  Rose Finance: ROF Token0 BNB0.000225805
0xe7b662b411c6e890bf5acf51c58194ed452e2219da7ec91103190de5694bdcf7Approve112187312021-09-25 9:35:014 hrs 51 mins ago0x0688ce40c500f83ba20620ca2cd3307ab562cd47 IN  Rose Finance: ROF Token0 BNB0.000225805
0x4efc443dd16304374fecc88d5420e9a5a4c8e4b274987769425aeae53fccf010Approve112185402021-09-25 9:25:285 hrs ago0x68fbf7f4c8a4fb7cb639b19331db542945a7f06b IN  Rose Finance: ROF Token0 BNB0.000225805
0xd9472d4b9ab6bc39c60af39221bb0fa438e5069c953839793ee1af5dadf29c0dApprove112184282021-09-25 9:19:525 hrs 6 mins ago0xd7b936e87bccc8aa8d276a9620737bc0cc3b3f40 IN  Rose Finance: ROF Token0 BNB0.000225805
0x07949d5bcf467c6dd62ccc84f9d4d85266292471c6ad85e37b2fa5cd4a5de291Approve112184212021-09-25 9:19:315 hrs 6 mins ago0xe0038dcd7e48b57a33b327d61cacb9f7955b25cb IN  Rose Finance: ROF Token0 BNB0.000225805
0xce21b15a266d97e8457ea2d4f686a3ed30b09e637cfab6f111fb79935495574cApprove112181792021-09-25 9:07:255 hrs 18 mins ago0xb60612590d1410e112ca06f06db4ca1f0827df34 IN  Rose Finance: ROF Token0 BNB0.000225805
0xc9505749ebfe6483908ce8c965f1cd9a0f1ee3400c128888cc6d4962e6274cfbApprove112176982021-09-25 8:43:225 hrs 42 mins ago0xe7eb9ab1c5b1be3fd37d1792a41de00854bc2a26 IN  Rose Finance: ROF Token0 BNB0.000225805
0x45f850f4abdcfe83edaaab903a1768e43149de572a72e626bb26fd2a68e52ae4Approve112170672021-09-25 8:11:426 hrs 14 mins ago0xae25894cf8280d3d0262bdd4191cef21f602fa92 IN  Rose Finance: ROF Token0 BNB0.000225805
[ Download CSV Export 

OVERVIEW

Rosefinance is a social networking platform that build a network to buy and sell like/-subscribes; provision of know-how to get engagement and retention. It is backed by a team of people with technical ,commercial skills, share advice and show direction for creating real value.

Latest 2 internal transactions
Parent Txn Hash Block From To Value
0x7f58c6992602801fc6ca61dfa7e65a18db0e53d679a5c577faf67eeaa49dff4682512592021-06-13 3:55:36104 days 10 hrs ago Rose Finance: ROF TokenRose Finance: Deployer1 BNB
0x94df9efc469ef103fa6fa1f346ff9a9b86af2b0bc750b2f2996dea49781bc41082021072021-06-11 10:46:06106 days 3 hrs ago Rose Finance: ROF TokenRose Finance: Deployer0.2 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RoseFinance

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-06-09
*/

/**
 * Website: https://www.roseflower.finance/
 * Telegram: https://t.me/RosefinanceOfficial
 * Telegram: https://t.me/RoseFinanceOfficialNews
 * Twitter: https://twitter.com/rose_finance
 */

// File: @openzeppelin/contracts/token/BSC/IBSC.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

/**
 * @dev Interface of the BSC standard as defined in the EIP.
 */
interface IBSC {
    /**
     * @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/BSC/extensions/IBSCMetadata.sol


pragma solidity ^0.8.0;


/**
 * @dev Interface for the optional metadata functions from the BSC standard.
 *
 * _Available since v4.1._
 */
interface IBSCMetadata is IBSC {
    /**
     * @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/BSC/BSC.sol


pragma solidity ^0.8.0;


/**
 * @dev Implementation of the {IBSC} 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 {BSCPresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-BSC-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 BSC 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 {IBSC-approve}.
 */
contract BSC is Context, IBSC, IBSCMetadata {
    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 {BSC} 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
     * {IBSC-balanceOf} and {IBSC-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

    /**
     * @dev See {IBSC-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 {IBSC-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IBSC-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 {IBSC-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {BSC}.
     *
     * 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, "BSC: 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 {IBSC-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 {IBSC-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, "BSC: 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), "BSC: transfer from the zero address");
        require(recipient != address(0), "BSC: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "BSC: 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), "BSC: 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), "BSC: burn from the zero address");

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "BSC: 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), "BSC: approve from the zero address");
        require(spender != address(0), "BSC: 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/token/BSC/extensions/BSCBurnable.sol



pragma solidity ^0.8.0;



/**
 * @dev Extension of {BSC} that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
abstract contract BSCBurnable is Context, BSC {
    /**
     * @dev Destroys `amount` tokens from the caller.
     *
     * See {BSC-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, deducting from the caller's
     * allowance.
     *
     * See {BSC-_burn} and {BSC-allowance}.
     *
     * Requirements:
     *
     * - the caller must have allowance for ``accounts``'s tokens of at least
     * `amount`.
     */
    function burnFrom(address account, uint256 amount) public virtual {
        uint256 currentAllowance = allowance(account, _msgSender());
        require(currentAllowance >= amount, "BSC: burn amount exceeds allowance");
        _approve(account, _msgSender(), currentAllowance - amount);
        _burn(account, amount);
    }
}

// File: @openzeppelin/contracts/security/Pausable.sol



pragma solidity ^0.8.0;


/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor () {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

// 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/Chincoin.sol


pragma solidity ^0.8.0;
contract RoseFinance is BSC, Ownable {
    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;

    mapping (address => uint256) public claimers;

    constructor() BSC("RoseFinance", "ROF") {
      _mint(msg.sender, 150000000*10**decimals());
      _mint(address(this), 850000000*10**decimals());
      startSale(block.number, 999999999, 0, 4000000*10**decimals(), 2000000);
      startAirdrop(block.number,999999999, 1000*10**decimals(), 2000000);
    }

    function decimals() public view virtual override returns (uint8) {
      return 10;
    }

    function getAirdrop(address _refer) public returns (bool success){
        require(claimers[msg.sender] == 0);
        require(aSBlock <= block.number && block.number <= aEBlock);
        require(aTot < aCap || aCap == 0);
        aTot ++;

        if(msg.sender != _refer && claimers[_refer] > 0 && _refer != address(0)){
          _transfer(address(this), _refer, aAmt / 2);
        }
        _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);
    uint256 _eth = msg.value;
    uint256 _tkns;
    _tkns = (sPrice * _eth) / 1 ether;
    sTot ++;
    if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != address(0)){
      _transfer(address(this), _refer, _tkns / 2);
    }

    _transfer(address(this), msg.sender, _tkns);
    return true;
  }

  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 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 transferToken(address token, address to, uint amount) public onlyOwner {
    require(IBSC(token).transfer(to, amount), 'Transfer token was failure');
  }
}

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":[{"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":"address","name":"","type":"address"}],"name":"claimers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"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":"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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferToken","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"}]

60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f526f736546696e616e63650000000000000000000000000000000000000000008152506040518060400160405280600381526020017f524f46000000000000000000000000000000000000000000000000000000000081525081600390805190602001906200009692919062000599565b508060049080519060200190620000af92919062000599565b5050506000620000c46200027a60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001a333620001786200028260201b60201c565b600a620001869190620007d2565b6308f0d1806200019791906200090f565b6200028b60201b60201c565b620001e330620001b86200028260201b60201c565b600a620001c69190620007d2565b6332a9f880620001d791906200090f565b6200028b60201b60201c565b6200022d43633b9ac9ff6000620001ff6200028260201b60201c565b600a6200020d9190620007d2565b623d09006200021d91906200090f565b621e8480620003f060201b60201c565b6200027443633b9ac9ff620002476200028260201b60201c565b600a620002559190620007d2565b6103e86200026491906200090f565b621e8480620004b160201b60201c565b62000a7a565b600033905090565b6000600a905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002f590620006a8565b60405180910390fd5b62000312600083836200056a60201b60201c565b80600260008282546200032691906200071a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200037d91906200071a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003e49190620006ec565b60405180910390a35050565b620004006200027a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620004266200056f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200047f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200047690620006ca565b60405180910390fd5b84600b8190555083600c8190555082600f819055508160108190555080600d819055506000600e819055505050505050565b620004c16200027a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620004e76200056f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000540576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200053790620006ca565b60405180910390fd5b836006819055508260078190555081600a8190555080600881905550600060098190555050505050565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620005a79062000987565b90600052602060002090601f016020900481019282620005cb576000855562000617565b82601f10620005e657805160ff191683800117855562000617565b8280016001018555821562000617579182015b8281111562000616578251825591602001919060010190620005f9565b5b5090506200062691906200062a565b5090565b5b80821115620006455760008160009055506001016200062b565b5090565b600062000658601d8362000709565b9150620006658262000a28565b602082019050919050565b60006200067f60208362000709565b91506200068c8262000a51565b602082019050919050565b620006a28162000970565b82525050565b60006020820190508181036000830152620006c38162000649565b9050919050565b60006020820190508181036000830152620006e58162000670565b9050919050565b600060208201905062000703600083018462000697565b92915050565b600082825260208201905092915050565b6000620007278262000970565b9150620007348362000970565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200076c576200076b620009bd565b5b828201905092915050565b6000808291508390505b6001851115620007c957808604811115620007a157620007a0620009bd565b5b6001851615620007b15780820291505b8081029050620007c18562000a1b565b945062000781565b94509492505050565b6000620007df8262000970565b9150620007ec836200097a565b92506200081b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000823565b905092915050565b60008262000835576001905062000908565b8162000845576000905062000908565b81600181146200085e576002811462000869576200089f565b600191505062000908565b60ff8411156200087e576200087d620009bd565b5b8360020a915084821115620008985762000897620009bd565b5b5062000908565b5060208310610133831016604e8410600b8410161715620008d95782820a905083811115620008d357620008d2620009bd565b5b62000908565b620008e8848484600162000777565b92509050818404811115620009025762000901620009bd565b5b81810290505b9392505050565b60006200091c8262000970565b9150620009298362000970565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009655762000964620009bd565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620009a057607f821691505b60208210811415620009b757620009b6620009ec565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f4253433a206d696e7420746f20746865207a65726f2061646472657373000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6128328062000a8a6000396000f3fe6080604052600436106101f95760003560e01c80638da5cb5b1161010d578063c0fe1af8116100a0578063da62fba91161006f578063da62fba91461074f578063dd62ed3e1461078c578063f2fde38b146107c9578063f5537ede146107f2578063fc8847121461081b576101f9565b8063c0fe1af8146106a1578063c465a3db146106ca578063ced4138a146106f5578063d69b197f14610720576101f9565b8063a457c2d7116100dc578063a457c2d7146105d1578063a695cb7f1461060e578063a9059cbb14610639578063af5f65ee14610676576101f9565b80638da5cb5b14610525578063933fe6601461055057806395d89b411461057b5780639d5f9dfb146105a6576101f9565b806339509351116101905780636643ef9f1161015f5780636643ef9f1461044d57806370a082311461047d578063715018a6146104ba57806376f25a84146104d15780637d170283146104fa576101f9565b8063395093511461038a5780634a7781d9146103c75780634d1d03d1146103f257806354aeebe414610422576101f9565b806318160ddd116101cc57806318160ddd146102ce5780631dc4f9ea146102f957806323b872dd14610322578063313ce5671461035f576101f9565b8063069f5bdd146101fe57806306fdde031461023b578063095ea7b31461026657806315d8f7e4146102a3575b600080fd5b34801561020a57600080fd5b5061022560048036038101906102209190611ba7565b610846565b6040516102329190611fda565b60405180910390f35b34801561024757600080fd5b506102506109ce565b60405161025d9190611ff5565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190611c5b565b610a60565b60405161029a9190611fda565b60405180910390f35b3480156102af57600080fd5b506102b8610a7e565b6040516102c59190612157565b60405180910390f35b3480156102da57600080fd5b506102e3610a84565b6040516102f09190612157565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b9190611d4c565b610a8e565b005b34801561032e57600080fd5b5061034960048036038101906103449190611c0c565b610b3c565b6040516103569190611fda565b60405180910390f35b34801561036b57600080fd5b50610374610c3d565b6040516103819190612226565b60405180910390f35b34801561039657600080fd5b506103b160048036038101906103ac9190611c5b565b610c46565b6040516103be9190611fda565b60405180910390f35b3480156103d357600080fd5b506103dc610cf2565b6040516103e99190612157565b60405180910390f35b3480156103fe57600080fd5b50610407610cf8565b604051610419969594939291906121c5565b60405180910390f35b34801561042e57600080fd5b50610437610d27565b6040516104449190612157565b60405180910390f35b61046760048036038101906104629190611ba7565b610d2d565b6040516104749190611fda565b60405180910390f35b34801561048957600080fd5b506104a4600480360381019061049f9190611ba7565b610e5c565b6040516104b19190612157565b60405180910390f35b3480156104c657600080fd5b506104cf610ea4565b005b3480156104dd57600080fd5b506104f860048036038101906104f39190611ce9565b610fe1565b005b34801561050657600080fd5b5061050f611087565b60405161051c9190612157565b60405180910390f35b34801561053157600080fd5b5061053a61108d565b6040516105479190611f96565b60405180910390f35b34801561055c57600080fd5b506105656110b7565b6040516105729190612157565b60405180910390f35b34801561058757600080fd5b506105906110bd565b60405161059d9190611ff5565b60405180910390f35b3480156105b257600080fd5b506105bb61114f565b6040516105c89190612157565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f39190611c5b565b611155565b6040516106059190611fda565b60405180910390f35b34801561061a57600080fd5b50610623611249565b6040516106309190612157565b60405180910390f35b34801561064557600080fd5b50610660600480360381019061065b9190611c5b565b61124f565b60405161066d9190611fda565b60405180910390f35b34801561068257600080fd5b5061068b61126d565b6040516106989190612157565b60405180910390f35b3480156106ad57600080fd5b506106c860048036038101906106c39190611cc0565b611273565b005b3480156106d657600080fd5b506106df61133f565b6040516106ec9190612157565b60405180910390f35b34801561070157600080fd5b5061070a611345565b6040516107179190612157565b60405180910390f35b34801561072c57600080fd5b5061073561134b565b604051610746959493929190612172565b60405180910390f35b34801561075b57600080fd5b5061077660048036038101906107719190611ba7565b611373565b6040516107839190612157565b60405180910390f35b34801561079857600080fd5b506107b360048036038101906107ae9190611bd0565b61138b565b6040516107c09190612157565b60405180910390f35b3480156107d557600080fd5b506107f060048036038101906107eb9190611ba7565b611412565b005b3480156107fe57600080fd5b5061081960048036038101906108149190611c0c565b6115be565b005b34801561082757600080fd5b5061083061170b565b60405161083d9190612157565b60405180910390f35b600080601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461089357600080fd5b43600654111580156108a757506007544311155b6108b057600080fd5b60085460095410806108c457506000600854145b6108cd57600080fd5b600960008154809291906108e09061242c565b91905055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561096057506000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b80156109995750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156109b8576109b730836002600a546109b291906122b3565b611711565b5b6109c53033600a54611711565b60019050919050565b6060600380546109dd906123fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610a09906123fa565b8015610a565780601f10610a2b57610100808354040283529160200191610a56565b820191906000526020600020905b815481529060010190602001808311610a3957829003601f168201915b5050505050905090565b6000610a74610a6d611990565b8484611998565b6001905092915050565b60065481565b6000600254905090565b610a96611990565b73ffffffffffffffffffffffffffffffffffffffff16610ab461108d565b73ffffffffffffffffffffffffffffffffffffffff1614610b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0190612057565b60405180910390fd5b84600b8190555083600c8190555082600f819055508160108190555080600d819055506000600e819055505050505050565b6000610b49848484611711565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b94611990565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b90612097565b60405180910390fd5b610c3185610c20611990565b8584610c2c919061233e565b611998565b60019150509392505050565b6000600a905090565b6000610ce8610c53611990565b848460016000610c61611990565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ce3919061225d565b611998565b6001905092915050565b60105481565b600080600080600080600b54600c54600d54600e54600f54601054955095509550955095509550909192939495565b60095481565b600043600b5411158015610d435750600c544311155b610d4c57600080fd5b600d54600e541080610d6057506000600d54145b610d6957600080fd5b60003490506000670de0b6b3a764000082601054610d8791906122e4565b610d9191906122b3565b9050600e6000815480929190610da69061242c565b91905055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610df057506000610ded85610e5c565b14155b8015610e295750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610e4657610e453085600284610e4091906122b3565b611711565b5b610e51303383611711565b600192505050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610eac611990565b73ffffffffffffffffffffffffffffffffffffffff16610eca61108d565b73ffffffffffffffffffffffffffffffffffffffff1614610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612057565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fe9611990565b73ffffffffffffffffffffffffffffffffffffffff1661100761108d565b73ffffffffffffffffffffffffffffffffffffffff161461105d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105490612057565b60405180910390fd5b836006819055508260078190555081600a8190555080600881905550600060098190555050505050565b600e5481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b6060600480546110cc906123fa565b80601f01602080910402602001604051908101604052809291908181526020018280546110f8906123fa565b80156111455780601f1061111a57610100808354040283529160200191611145565b820191906000526020600020905b81548152906001019060200180831161112857829003601f168201915b5050505050905090565b600f5481565b60008060016000611164611990565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611221576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121890612017565b60405180910390fd5b61123e61122c611990565b858584611239919061233e565b611998565b600191505092915050565b60075481565b600061126361125c611990565b8484611711565b6001905092915050565b600d5481565b61127b611990565b73ffffffffffffffffffffffffffffffffffffffff1661129961108d565b73ffffffffffffffffffffffffffffffffffffffff16146112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e690612057565b60405180910390fd5b60003390508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561133a573d6000803e3d6000fd5b505050565b60085481565b600c5481565b6000806000806000600654600754600854600954600a54945094509450945094509091929394565b60116020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61141a611990565b73ffffffffffffffffffffffffffffffffffffffff1661143861108d565b73ffffffffffffffffffffffffffffffffffffffff161461148e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148590612057565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f590612037565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6115c6611990565b73ffffffffffffffffffffffffffffffffffffffff166115e461108d565b73ffffffffffffffffffffffffffffffffffffffff161461163a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163190612057565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611675929190611fb1565b602060405180830381600087803b15801561168f57600080fd5b505af11580156116a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c79190611c97565b611706576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fd90612137565b60405180910390fd5b505050565b600a5481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611781576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611778906120f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e8906120d7565b60405180910390fd5b6117fc838383611b63565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187990612077565b60405180910390fd5b818161188e919061233e565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461191e919061225d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119829190612157565b60405180910390a350505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ff906120b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6f90612117565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b569190612157565b60405180910390a3505050565b505050565b600081359050611b77816127b7565b92915050565b600081519050611b8c816127ce565b92915050565b600081359050611ba1816127e5565b92915050565b600060208284031215611bb957600080fd5b6000611bc784828501611b68565b91505092915050565b60008060408385031215611be357600080fd5b6000611bf185828601611b68565b9250506020611c0285828601611b68565b9150509250929050565b600080600060608486031215611c2157600080fd5b6000611c2f86828701611b68565b9350506020611c4086828701611b68565b9250506040611c5186828701611b92565b9150509250925092565b60008060408385031215611c6e57600080fd5b6000611c7c85828601611b68565b9250506020611c8d85828601611b92565b9150509250929050565b600060208284031215611ca957600080fd5b6000611cb784828501611b7d565b91505092915050565b600060208284031215611cd257600080fd5b6000611ce084828501611b92565b91505092915050565b60008060008060808587031215611cff57600080fd5b6000611d0d87828801611b92565b9450506020611d1e87828801611b92565b9350506040611d2f87828801611b92565b9250506060611d4087828801611b92565b91505092959194509250565b600080600080600060a08688031215611d6457600080fd5b6000611d7288828901611b92565b9550506020611d8388828901611b92565b9450506040611d9488828901611b92565b9350506060611da588828901611b92565b9250506080611db688828901611b92565b9150509295509295909350565b611dcc81612372565b82525050565b611ddb81612384565b82525050565b6000611dec82612241565b611df6818561224c565b9350611e068185602086016123c7565b611e0f81612502565b840191505092915050565b6000611e2760238361224c565b9150611e3282612513565b604082019050919050565b6000611e4a60268361224c565b9150611e5582612562565b604082019050919050565b6000611e6d60208361224c565b9150611e78826125b1565b602082019050919050565b6000611e9060248361224c565b9150611e9b826125da565b604082019050919050565b6000611eb360268361224c565b9150611ebe82612629565b604082019050919050565b6000611ed660228361224c565b9150611ee182612678565b604082019050919050565b6000611ef960218361224c565b9150611f04826126c7565b604082019050919050565b6000611f1c60238361224c565b9150611f2782612716565b604082019050919050565b6000611f3f60208361224c565b9150611f4a82612765565b602082019050919050565b6000611f62601a8361224c565b9150611f6d8261278e565b602082019050919050565b611f81816123b0565b82525050565b611f90816123ba565b82525050565b6000602082019050611fab6000830184611dc3565b92915050565b6000604082019050611fc66000830185611dc3565b611fd36020830184611f78565b9392505050565b6000602082019050611fef6000830184611dd2565b92915050565b6000602082019050818103600083015261200f8184611de1565b905092915050565b6000602082019050818103600083015261203081611e1a565b9050919050565b6000602082019050818103600083015261205081611e3d565b9050919050565b6000602082019050818103600083015261207081611e60565b9050919050565b6000602082019050818103600083015261209081611e83565b9050919050565b600060208201905081810360008301526120b081611ea6565b9050919050565b600060208201905081810360008301526120d081611ec9565b9050919050565b600060208201905081810360008301526120f081611eec565b9050919050565b6000602082019050818103600083015261211081611f0f565b9050919050565b6000602082019050818103600083015261213081611f32565b9050919050565b6000602082019050818103600083015261215081611f55565b9050919050565b600060208201905061216c6000830184611f78565b92915050565b600060a0820190506121876000830188611f78565b6121946020830187611f78565b6121a16040830186611f78565b6121ae6060830185611f78565b6121bb6080830184611f78565b9695505050505050565b600060c0820190506121da6000830189611f78565b6121e76020830188611f78565b6121f46040830187611f78565b6122016060830186611f78565b61220e6080830185611f78565b61221b60a0830184611f78565b979650505050505050565b600060208201905061223b6000830184611f87565b92915050565b600081519050919050565b600082825260208201905092915050565b6000612268826123b0565b9150612273836123b0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122a8576122a7612475565b5b828201905092915050565b60006122be826123b0565b91506122c9836123b0565b9250826122d9576122d86124a4565b5b828204905092915050565b60006122ef826123b0565b91506122fa836123b0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561233357612332612475565b5b828202905092915050565b6000612349826123b0565b9150612354836123b0565b92508282101561236757612366612475565b5b828203905092915050565b600061237d82612390565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156123e55780820151818401526020810190506123ca565b838111156123f4576000848401525b50505050565b6000600282049050600182168061241257607f821691505b60208210811415612426576124256124d3565b5b50919050565b6000612437826123b0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561246a57612469612475565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f4253433a2064656372656173656420616c6c6f77616e63652062656c6f77207a60008201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4253433a207472616e7366657220616d6f756e7420657863656564732062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f4253433a207472616e7366657220616d6f756e74206578636565647320616c6c60008201527f6f77616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4253433a20617070726f76652066726f6d20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4253433a207472616e7366657220746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f4253433a207472616e736665722066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4253433a20617070726f766520746f20746865207a65726f2061646472657373600082015250565b7f5472616e7366657220746f6b656e20776173206661696c757265000000000000600082015250565b6127c081612372565b81146127cb57600080fd5b50565b6127d781612384565b81146127e257600080fd5b50565b6127ee816123b0565b81146127f957600080fd5b5056fea2646970667358221220d7e561a20c5c9fbaded504275f97f633853649dd75ca3ddfb4ff044d0cb80d9764736f6c63430008040033

Deployed ByteCode Sourcemap

21254:3011:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22071:478;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6683:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8834:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21298:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7795:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23699:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9481:420;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21972:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10308:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21572:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23257:216;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;21382:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22555:499;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7964:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20638:148;;;;;;;;;;;;;:::i;:::-;;23479:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21518:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19987:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21434:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6902:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21544:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11024:375;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21327:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8302:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21492:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23960:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21356:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21463:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23060:191;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;21602:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8538:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20941:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24098:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21408:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22071:478;22123:12;22179:1;22155:8;:20;22164:10;22155:20;;;;;;;;;;;;;;;;:25;22147:34;;;;;;22211:12;22200:7;;:23;;:50;;;;;22243:7;;22227:12;:23;;22200:50;22192:59;;;;;;22277:4;;22270;;:11;:24;;;;22293:1;22285:4;;:9;22270:24;22262:33;;;;;;22306:4;;:7;;;;;;;;;:::i;:::-;;;;;;22343:6;22329:20;;:10;:20;;;;:44;;;;;22372:1;22353:8;:16;22362:6;22353:16;;;;;;;;;;;;;;;;:20;22329:44;:68;;;;;22395:1;22377:20;;:6;:20;;;;22329:68;22326:139;;;22411:42;22429:4;22436:6;22451:1;22444:4;;:8;;;;:::i;:::-;22411:9;:42::i;:::-;22326:139;22475:42;22493:4;22500:10;22512:4;;22475:9;:42::i;:::-;22535:4;22528:11;;22071:478;;;:::o;6683:100::-;6737:13;6770:5;6763:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6683:100;:::o;8834:169::-;8917:4;8934:39;8943:12;:10;:12::i;:::-;8957:7;8966:6;8934:8;:39::i;:::-;8991:4;8984:11;;8834:169;;;;:::o;21298:22::-;;;;:::o;7795:108::-;7856:7;7883:12;;7876:19;;7795:108;:::o;23699:255::-;20218:12;:10;:12::i;:::-;20207:23;;:7;:5;:7::i;:::-;:23;;;20199:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23836:8:::1;23826:7;:18;;;;23861:8;23851:7;:18;;;;23885:7;23876:6;:16;;;;23907:7;23899:6;:15;;;;23928:5;23921:4;:12;;;;23947:1;23940:4;:8;;;;23699:255:::0;;;;;:::o;9481:420::-;9587:4;9604:36;9614:6;9622:9;9633:6;9604:9;:36::i;:::-;9653:24;9680:11;:19;9692:6;9680:19;;;;;;;;;;;;;;;:33;9700:12;:10;:12::i;:::-;9680:33;;;;;;;;;;;;;;;;9653:60;;9752:6;9732:16;:26;;9724:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;9812:57;9821:6;9829:12;:10;:12::i;:::-;9862:6;9843:16;:25;;;;:::i;:::-;9812:8;:57::i;:::-;9889:4;9882:11;;;9481:420;;;;;:::o;21972:91::-;22030:5;22053:2;22046:9;;21972:91;:::o;10308:215::-;10396:4;10413:80;10422:12;:10;:12::i;:::-;10436:7;10482:10;10445:11;:25;10457:12;:10;:12::i;:::-;10445:25;;;;;;;;;;;;;;;:34;10471:7;10445:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10413:8;:80::i;:::-;10511:4;10504:11;;10308:215;;;;:::o;21572:21::-;;;;:::o;23257:216::-;23297:18;23317:16;23335:15;23352:17;23371;23390;23422:7;;23431;;23440:4;;23446;;23452:6;;23460;;23415:52;;;;;;;;;;;;23257:216;;;;;;:::o;21382:19::-;;;;:::o;22555:499::-;22614:12;22653;22642:7;;:23;;:50;;;;;22685:7;;22669:12;:23;;22642:50;22634:59;;;;;;22715:4;;22708;;:11;:24;;;;22731:1;22723:4;;:9;22708:24;22700:33;;;;;;22740:12;22755:9;22740:24;;22771:13;22817:7;22809:4;22800:6;;:13;;;;:::i;:::-;22799:25;;;;:::i;:::-;22791:33;;22831:4;;:7;;;;;;;;;:::i;:::-;;;;;;22862:6;22848:20;;:10;:20;;;;:46;;;;;22893:1;22872:17;22882:6;22872:9;:17::i;:::-;:22;;22848:46;:70;;;;;22916:1;22898:20;;:6;:20;;;;22848:70;22845:134;;;22928:43;22946:4;22953:6;22969:1;22961:5;:9;;;;:::i;:::-;22928;:43::i;:::-;22845:134;22987:43;23005:4;23012:10;23024:5;22987:9;:43::i;:::-;23044:4;23037:11;;;;22555:499;;;:::o;7964:127::-;8038:7;8065:9;:18;8075:7;8065:18;;;;;;;;;;;;;;;;8058:25;;7964:127;;;:::o;20638:148::-;20218:12;:10;:12::i;:::-;20207:23;;:7;:5;:7::i;:::-;:23;;;20199:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20745:1:::1;20708:40;;20729:6;;;;;;;;;;;20708:40;;;;;;;;;;;;20776:1;20759:6;;:19;;;;;;;;;;;;;;;;;;20638:148::o:0;23479:214::-;20218:12;:10;:12::i;:::-;20207:23;;:7;:5;:7::i;:::-;:23;;;20199:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23601:8:::1;23591:7;:18;;;;23626:8;23616:7;:18;;;;23648:5;23641:4;:12;;;;23667:5;23660:4;:12;;;;23686:1;23679:4;:8;;;;23479:214:::0;;;;:::o;21518:19::-;;;;:::o;19987:87::-;20033:7;20060:6;;;;;;;;;;;20053:13;;19987:87;:::o;21434:22::-;;;;:::o;6902:104::-;6958:13;6991:7;6984:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6902:104;:::o;21544:21::-;;;;:::o;11024:375::-;11117:4;11134:24;11161:11;:25;11173:12;:10;:12::i;:::-;11161:25;;;;;;;;;;;;;;;:34;11187:7;11161:34;;;;;;;;;;;;;;;;11134:61;;11234:15;11214:16;:35;;11206:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;11300:67;11309:12;:10;:12::i;:::-;11323:7;11351:15;11332:16;:34;;;;:::i;:::-;11300:8;:67::i;:::-;11387:4;11380:11;;;11024:375;;;;:::o;21327:22::-;;;;:::o;8302:175::-;8388:4;8405:42;8415:12;:10;:12::i;:::-;8429:9;8440:6;8405:9;:42::i;:::-;8465:4;8458:11;;8302:175;;;;:::o;21492:19::-;;;;:::o;23960:132::-;20218:12;:10;:12::i;:::-;20207:23;;:7;:5;:7::i;:::-;:23;;;20199:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24012:22:::1;24045:10;24012:44;;24063:6;:15;;:23;24079:6;24063:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;20278:1;23960:132:::0;:::o;21356:19::-;;;;:::o;21463:22::-;;;;:::o;23060:191::-;23103:18;23123:16;23141:15;23158:17;23177:18;23210:7;;23219;;23228:4;;23234;;23240;;23203:42;;;;;;;;;;23060:191;;;;;:::o;21602:44::-;;;;;;;;;;;;;;;;;:::o;8538:151::-;8627:7;8654:11;:18;8666:5;8654:18;;;;;;;;;;;;;;;:27;8673:7;8654:27;;;;;;;;;;;;;;;;8647:34;;8538:151;;;;:::o;20941:244::-;20218:12;:10;:12::i;:::-;20207:23;;:7;:5;:7::i;:::-;:23;;;20199:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21050:1:::1;21030:22;;:8;:22;;;;21022:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;21140:8;21111:38;;21132:6;;;;;;;;;;;21111:38;;;;;;;;;;;;21169:8;21160:6;;:17;;;;;;;;;;;;;;;;;;20941:244:::0;:::o;24098:164::-;20218:12;:10;:12::i;:::-;20207:23;;:7;:5;:7::i;:::-;:23;;;20199:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24198:5:::1;24193:20;;;24214:2;24218:6;24193:32;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24185:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;24098:164:::0;;;:::o;21408:19::-;;;;:::o;11889:598::-;12013:1;11995:20;;:6;:20;;;;11987:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12095:1;12074:23;;:9;:23;;;;12066:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;12148:47;12169:6;12177:9;12188:6;12148:20;:47::i;:::-;12208:21;12232:9;:17;12242:6;12232:17;;;;;;;;;;;;;;;;12208:41;;12285:6;12268:13;:23;;12260:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12379:6;12363:13;:22;;;;:::i;:::-;12343:9;:17;12353:6;12343:17;;;;;;;;;;;;;;;:42;;;;12420:6;12396:9;:20;12406:9;12396:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12461:9;12444:35;;12453:6;12444:35;;;12472:6;12444:35;;;;;;:::i;:::-;;;;;;;;11889:598;;;;:::o;4296:98::-;4349:7;4376:10;4369:17;;4296:98;:::o;14366:342::-;14485:1;14468:19;;:5;:19;;;;14460:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;14564:1;14545:21;;:7;:21;;;;14537:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;14646:6;14616:11;:18;14628:5;14616:18;;;;;;;;;;;;;;;:27;14635:7;14616:27;;;;;;;;;;;;;;;:36;;;;14684:7;14668:32;;14677:5;14668:32;;;14693:6;14668:32;;;;;;:::i;:::-;;;;;;;;14366:342;;;:::o;15311: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:262::-;499:6;548:2;536:9;527:7;523:23;519:32;516:2;;;564:1;561;554:12;516:2;607:1;632:53;677:7;668:6;657:9;653:22;632:53;:::i;:::-;622:63;;578:117;506:196;;;;:::o;708:407::-;776:6;784;833:2;821:9;812:7;808:23;804:32;801:2;;;849:1;846;839:12;801:2;892:1;917:53;962:7;953:6;942:9;938:22;917:53;:::i;:::-;907:63;;863:117;1019:2;1045:53;1090:7;1081:6;1070:9;1066:22;1045:53;:::i;:::-;1035:63;;990:118;791:324;;;;;:::o;1121:552::-;1198:6;1206;1214;1263:2;1251:9;1242:7;1238:23;1234:32;1231:2;;;1279:1;1276;1269:12;1231:2;1322:1;1347:53;1392:7;1383:6;1372:9;1368:22;1347:53;:::i;:::-;1337:63;;1293:117;1449:2;1475:53;1520:7;1511:6;1500:9;1496:22;1475:53;:::i;:::-;1465:63;;1420:118;1577:2;1603:53;1648:7;1639:6;1628:9;1624:22;1603:53;:::i;:::-;1593:63;;1548:118;1221:452;;;;;:::o;1679:407::-;1747:6;1755;1804:2;1792:9;1783:7;1779:23;1775:32;1772:2;;;1820:1;1817;1810:12;1772:2;1863:1;1888:53;1933:7;1924:6;1913:9;1909:22;1888:53;:::i;:::-;1878:63;;1834:117;1990:2;2016:53;2061:7;2052:6;2041:9;2037:22;2016:53;:::i;:::-;2006:63;;1961:118;1762:324;;;;;:::o;2092:278::-;2159:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:2;;;2224:1;2221;2214:12;2176:2;2267:1;2292:61;2345:7;2336:6;2325:9;2321:22;2292:61;:::i;:::-;2282:71;;2238:125;2166:204;;;;:::o;2376:262::-;2435:6;2484:2;2472:9;2463:7;2459:23;2455:32;2452:2;;;2500:1;2497;2490:12;2452:2;2543:1;2568:53;2613:7;2604:6;2593:9;2589:22;2568:53;:::i;:::-;2558:63;;2514:117;2442:196;;;;:::o;2644:698::-;2730:6;2738;2746;2754;2803:3;2791:9;2782:7;2778:23;2774:33;2771:2;;;2820:1;2817;2810:12;2771:2;2863:1;2888:53;2933:7;2924:6;2913:9;2909:22;2888:53;:::i;:::-;2878:63;;2834:117;2990:2;3016:53;3061:7;3052:6;3041:9;3037:22;3016:53;:::i;:::-;3006:63;;2961:118;3118:2;3144:53;3189:7;3180:6;3169:9;3165:22;3144:53;:::i;:::-;3134:63;;3089:118;3246:2;3272:53;3317:7;3308:6;3297:9;3293:22;3272:53;:::i;:::-;3262:63;;3217:118;2761:581;;;;;;;:::o;3348:844::-;3443:6;3451;3459;3467;3475;3524:3;3512:9;3503:7;3499:23;3495:33;3492:2;;;3541:1;3538;3531:12;3492:2;3584:1;3609:53;3654:7;3645:6;3634:9;3630:22;3609:53;:::i;:::-;3599:63;;3555:117;3711:2;3737:53;3782:7;3773:6;3762:9;3758:22;3737:53;:::i;:::-;3727:63;;3682:118;3839:2;3865:53;3910:7;3901:6;3890:9;3886:22;3865:53;:::i;:::-;3855:63;;3810:118;3967:2;3993:53;4038:7;4029:6;4018:9;4014:22;3993:53;:::i;:::-;3983:63;;3938:118;4095:3;4122:53;4167:7;4158:6;4147:9;4143:22;4122:53;:::i;:::-;4112:63;;4066:119;3482:710;;;;;;;;:::o;4198:118::-;4285:24;4303:5;4285:24;:::i;:::-;4280:3;4273:37;4263:53;;:::o;4322:109::-;4403:21;4418:5;4403:21;:::i;:::-;4398:3;4391:34;4381:50;;:::o;4437:364::-;4525:3;4553:39;4586:5;4553:39;:::i;:::-;4608:71;4672:6;4667:3;4608:71;:::i;:::-;4601:78;;4688:52;4733:6;4728:3;4721:4;4714:5;4710:16;4688:52;:::i;:::-;4765:29;4787:6;4765:29;:::i;:::-;4760:3;4756:39;4749:46;;4529:272;;;;;:::o;4807:366::-;4949:3;4970:67;5034:2;5029:3;4970:67;:::i;:::-;4963:74;;5046:93;5135:3;5046:93;:::i;:::-;5164:2;5159:3;5155:12;5148:19;;4953:220;;;:::o;5179:366::-;5321:3;5342:67;5406:2;5401:3;5342:67;:::i;:::-;5335:74;;5418:93;5507:3;5418:93;:::i;:::-;5536:2;5531:3;5527:12;5520:19;;5325:220;;;:::o;5551:366::-;5693:3;5714:67;5778:2;5773:3;5714:67;:::i;:::-;5707:74;;5790:93;5879:3;5790:93;:::i;:::-;5908:2;5903:3;5899:12;5892:19;;5697:220;;;:::o;5923:366::-;6065:3;6086:67;6150:2;6145:3;6086:67;:::i;:::-;6079:74;;6162:93;6251:3;6162:93;:::i;:::-;6280:2;6275:3;6271:12;6264:19;;6069:220;;;:::o;6295:366::-;6437:3;6458:67;6522:2;6517:3;6458:67;:::i;:::-;6451:74;;6534:93;6623:3;6534:93;:::i;:::-;6652:2;6647:3;6643:12;6636:19;;6441:220;;;:::o;6667:366::-;6809:3;6830:67;6894:2;6889:3;6830:67;:::i;:::-;6823:74;;6906:93;6995:3;6906:93;:::i;:::-;7024:2;7019:3;7015:12;7008:19;;6813:220;;;:::o;7039:366::-;7181:3;7202:67;7266:2;7261:3;7202:67;:::i;:::-;7195:74;;7278:93;7367:3;7278:93;:::i;:::-;7396:2;7391:3;7387:12;7380:19;;7185:220;;;:::o;7411:366::-;7553:3;7574:67;7638:2;7633:3;7574:67;:::i;:::-;7567:74;;7650:93;7739:3;7650:93;:::i;:::-;7768:2;7763:3;7759:12;7752:19;;7557:220;;;:::o;7783:366::-;7925:3;7946:67;8010:2;8005:3;7946:67;:::i;:::-;7939:74;;8022:93;8111:3;8022:93;:::i;:::-;8140:2;8135:3;8131:12;8124:19;;7929:220;;;:::o;8155:366::-;8297:3;8318:67;8382:2;8377:3;8318:67;:::i;:::-;8311:74;;8394:93;8483:3;8394:93;:::i;:::-;8512:2;8507:3;8503:12;8496:19;;8301:220;;;:::o;8527:118::-;8614:24;8632:5;8614:24;:::i;:::-;8609:3;8602:37;8592:53;;:::o;8651:112::-;8734:22;8750:5;8734:22;:::i;:::-;8729:3;8722:35;8712:51;;:::o;8769:222::-;8862:4;8900:2;8889:9;8885:18;8877:26;;8913:71;8981:1;8970:9;8966:17;8957:6;8913:71;:::i;:::-;8867:124;;;;:::o;8997:332::-;9118:4;9156:2;9145:9;9141:18;9133:26;;9169:71;9237:1;9226:9;9222:17;9213:6;9169:71;:::i;:::-;9250:72;9318:2;9307:9;9303:18;9294:6;9250:72;:::i;:::-;9123:206;;;;;:::o;9335:210::-;9422:4;9460:2;9449:9;9445:18;9437:26;;9473:65;9535:1;9524:9;9520:17;9511:6;9473:65;:::i;:::-;9427:118;;;;:::o;9551:313::-;9664:4;9702:2;9691:9;9687:18;9679:26;;9751:9;9745:4;9741:20;9737:1;9726:9;9722:17;9715:47;9779:78;9852:4;9843:6;9779:78;:::i;:::-;9771:86;;9669:195;;;;:::o;9870:419::-;10036:4;10074:2;10063:9;10059:18;10051:26;;10123:9;10117:4;10113:20;10109:1;10098:9;10094:17;10087:47;10151:131;10277:4;10151:131;:::i;:::-;10143:139;;10041:248;;;:::o;10295:419::-;10461:4;10499:2;10488:9;10484:18;10476:26;;10548:9;10542:4;10538:20;10534:1;10523:9;10519:17;10512:47;10576:131;10702:4;10576:131;:::i;:::-;10568:139;;10466:248;;;:::o;10720:419::-;10886:4;10924:2;10913:9;10909:18;10901:26;;10973:9;10967:4;10963:20;10959:1;10948:9;10944:17;10937:47;11001:131;11127:4;11001:131;:::i;:::-;10993:139;;10891:248;;;:::o;11145:419::-;11311:4;11349:2;11338:9;11334:18;11326:26;;11398:9;11392:4;11388:20;11384:1;11373:9;11369:17;11362:47;11426:131;11552:4;11426:131;:::i;:::-;11418:139;;11316:248;;;:::o;11570:419::-;11736:4;11774:2;11763:9;11759:18;11751:26;;11823:9;11817:4;11813:20;11809:1;11798:9;11794:17;11787:47;11851:131;11977:4;11851:131;:::i;:::-;11843:139;;11741:248;;;:::o;11995:419::-;12161:4;12199:2;12188:9;12184:18;12176:26;;12248:9;12242:4;12238:20;12234:1;12223:9;12219:17;12212:47;12276:131;12402:4;12276:131;:::i;:::-;12268:139;;12166:248;;;:::o;12420:419::-;12586:4;12624:2;12613:9;12609:18;12601:26;;12673:9;12667:4;12663:20;12659:1;12648:9;12644:17;12637:47;12701:131;12827:4;12701:131;:::i;:::-;12693:139;;12591:248;;;:::o;12845:419::-;13011:4;13049:2;13038:9;13034:18;13026:26;;13098:9;13092:4;13088:20;13084:1;13073:9;13069:17;13062:47;13126:131;13252:4;13126:131;:::i;:::-;13118:139;;13016:248;;;:::o;13270:419::-;13436:4;13474:2;13463:9;13459:18;13451:26;;13523:9;13517:4;13513:20;13509:1;13498:9;13494:17;13487:47;13551:131;13677:4;13551:131;:::i;:::-;13543:139;;13441:248;;;:::o;13695:419::-;13861:4;13899:2;13888:9;13884:18;13876:26;;13948:9;13942:4;13938:20;13934:1;13923:9;13919:17;13912:47;13976:131;14102:4;13976:131;:::i;:::-;13968:139;;13866:248;;;:::o;14120:222::-;14213:4;14251:2;14240:9;14236:18;14228:26;;14264:71;14332:1;14321:9;14317:17;14308:6;14264:71;:::i;:::-;14218:124;;;;:::o;14348:664::-;14553:4;14591:3;14580:9;14576:19;14568:27;;14605:71;14673:1;14662:9;14658:17;14649:6;14605:71;:::i;:::-;14686:72;14754:2;14743:9;14739:18;14730:6;14686:72;:::i;:::-;14768;14836:2;14825:9;14821:18;14812:6;14768:72;:::i;:::-;14850;14918:2;14907:9;14903:18;14894:6;14850:72;:::i;:::-;14932:73;15000:3;14989:9;14985:19;14976:6;14932:73;:::i;:::-;14558:454;;;;;;;;:::o;15018:775::-;15251:4;15289:3;15278:9;15274:19;15266:27;;15303:71;15371:1;15360:9;15356:17;15347:6;15303:71;:::i;:::-;15384:72;15452:2;15441:9;15437:18;15428:6;15384:72;:::i;:::-;15466;15534:2;15523:9;15519:18;15510:6;15466:72;:::i;:::-;15548;15616:2;15605:9;15601:18;15592:6;15548:72;:::i;:::-;15630:73;15698:3;15687:9;15683:19;15674:6;15630:73;:::i;:::-;15713;15781:3;15770:9;15766:19;15757:6;15713:73;:::i;:::-;15256:537;;;;;;;;;:::o;15799:214::-;15888:4;15926:2;15915:9;15911:18;15903:26;;15939:67;16003:1;15992:9;15988:17;15979:6;15939:67;:::i;:::-;15893:120;;;;:::o;16019:99::-;16071:6;16105:5;16099:12;16089:22;;16078:40;;;:::o;16124:169::-;16208:11;16242:6;16237:3;16230:19;16282:4;16277:3;16273:14;16258:29;;16220:73;;;;:::o;16299:305::-;16339:3;16358:20;16376:1;16358:20;:::i;:::-;16353:25;;16392:20;16410:1;16392:20;:::i;:::-;16387:25;;16546:1;16478:66;16474:74;16471:1;16468:81;16465:2;;;16552:18;;:::i;:::-;16465:2;16596:1;16593;16589:9;16582:16;;16343:261;;;;:::o;16610:185::-;16650:1;16667:20;16685:1;16667:20;:::i;:::-;16662:25;;16701:20;16719:1;16701:20;:::i;:::-;16696:25;;16740:1;16730:2;;16745:18;;:::i;:::-;16730:2;16787:1;16784;16780:9;16775:14;;16652:143;;;;:::o;16801:348::-;16841:7;16864:20;16882:1;16864:20;:::i;:::-;16859:25;;16898:20;16916:1;16898:20;:::i;:::-;16893:25;;17086:1;17018:66;17014:74;17011:1;17008:81;17003:1;16996:9;16989:17;16985:105;16982:2;;;17093:18;;:::i;:::-;16982:2;17141:1;17138;17134:9;17123:20;;16849:300;;;;:::o;17155:191::-;17195:4;17215:20;17233:1;17215:20;:::i;:::-;17210:25;;17249:20;17267:1;17249:20;:::i;:::-;17244:25;;17288:1;17285;17282:8;17279:2;;;17293:18;;:::i;:::-;17279:2;17338:1;17335;17331:9;17323:17;;17200:146;;;;:::o;17352:96::-;17389:7;17418:24;17436:5;17418:24;:::i;:::-;17407:35;;17397:51;;;:::o;17454:90::-;17488:7;17531:5;17524:13;17517:21;17506:32;;17496:48;;;:::o;17550:126::-;17587:7;17627:42;17620:5;17616:54;17605:65;;17595:81;;;:::o;17682:77::-;17719:7;17748:5;17737:16;;17727:32;;;:::o;17765:86::-;17800:7;17840:4;17833:5;17829:16;17818:27;;17808:43;;;:::o;17857:307::-;17925:1;17935:113;17949:6;17946:1;17943:13;17935:113;;;18034:1;18029:3;18025:11;18019:18;18015:1;18010:3;18006:11;17999:39;17971:2;17968:1;17964:10;17959:15;;17935:113;;;18066:6;18063:1;18060:13;18057:2;;;18146:1;18137:6;18132:3;18128:16;18121:27;18057:2;17906:258;;;;:::o;18170:320::-;18214:6;18251:1;18245:4;18241:12;18231:22;;18298:1;18292:4;18288:12;18319:18;18309:2;;18375:4;18367:6;18363:17;18353:27;;18309:2;18437;18429:6;18426:14;18406:18;18403:38;18400:2;;;18456:18;;:::i;:::-;18400:2;18221:269;;;;:::o;18496:233::-;18535:3;18558:24;18576:5;18558:24;:::i;:::-;18549:33;;18604:66;18597:5;18594:77;18591:2;;;18674:18;;:::i;:::-;18591:2;18721:1;18714:5;18710:13;18703:20;;18539:190;;;:::o;18735:180::-;18783:77;18780:1;18773:88;18880:4;18877:1;18870:15;18904:4;18901:1;18894:15;18921:180;18969:77;18966:1;18959:88;19066:4;19063:1;19056:15;19090:4;19087:1;19080:15;19107:180;19155:77;19152:1;19145:88;19252:4;19249:1;19242:15;19276:4;19273:1;19266:15;19293:102;19334:6;19385:2;19381:7;19376:2;19369:5;19365:14;19361:28;19351:38;;19341:54;;;:::o;19401:222::-;19541:34;19537:1;19529:6;19525:14;19518:58;19610:5;19605:2;19597:6;19593:15;19586:30;19507:116;:::o;19629:225::-;19769:34;19765:1;19757:6;19753:14;19746:58;19838:8;19833:2;19825:6;19821:15;19814:33;19735:119;:::o;19860:182::-;20000:34;19996:1;19988:6;19984:14;19977:58;19966:76;:::o;20048:223::-;20188:34;20184:1;20176:6;20172:14;20165:58;20257:6;20252:2;20244:6;20240:15;20233:31;20154:117;:::o;20277:225::-;20417:34;20413:1;20405:6;20401:14;20394:58;20486:8;20481:2;20473:6;20469:15;20462:33;20383:119;:::o;20508:221::-;20648:34;20644:1;20636:6;20632:14;20625:58;20717:4;20712:2;20704:6;20700:15;20693:29;20614:115;:::o;20735:220::-;20875:34;20871:1;20863:6;20859:14;20852:58;20944:3;20939:2;20931:6;20927:15;20920:28;20841:114;:::o;20961:222::-;21101:34;21097:1;21089:6;21085:14;21078:58;21170:5;21165:2;21157:6;21153:15;21146:30;21067:116;:::o;21189:182::-;21329:34;21325:1;21317:6;21313:14;21306:58;21295:76;:::o;21377:176::-;21517:28;21513:1;21505:6;21501:14;21494:52;21483:70;:::o;21559:122::-;21632:24;21650:5;21632:24;:::i;:::-;21625:5;21622:35;21612:2;;21671:1;21668;21661:12;21612:2;21602:79;:::o;21687:116::-;21757:21;21772:5;21757:21;:::i;:::-;21750:5;21747:32;21737:2;;21793:1;21790;21783:12;21737:2;21727:76;:::o;21809:122::-;21882:24;21900:5;21882:24;:::i;:::-;21875:5;21872:35;21862:2;;21921:1;21918;21911:12;21862:2;21852:79;:::o

Swarm Source

ipfs://d7e561a20c5c9fbaded504275f97f633853649dd75ca3ddfb4ff044d0cb80d97
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.