Contract 0x37ab46eb1fFd44794CA9C859a81F75B804DE0717

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x1c35c27f7f3231c0b32d4ad313a5e506b206ab9cfe422c598e59b1068290ef93Approve115155322021-10-05 18:55:3762 days 1 hr ago0x139ac15894417fc55878c8dbecf1ac704db9f562 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.0002300916
0x6d4dfea3c24aa74348d2cc063777c70678b49b150563666ab87fe1aa10b951e9Change Fees115150862021-10-05 18:33:1962 days 2 hrs ago0x8143277931b680a6e0e69a07a4647444532e8eb3 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.000152865
0xf983e32e8690832f4959db9ff7028f4146350fc2b58476400a873671ca553aafApprove115130872021-10-05 16:53:2262 days 3 hrs ago0x6e88c00e9172c0f3b7315a5b64a9a8e5a78036e6 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.00022558
0x8aed72d1fe44f1b55c2e7d661ab7edeb355d52e0e5095c88be81fc86488082c9Approve115112072021-10-05 15:19:0862 days 5 hrs ago0x130555888b167f62f559d0254ba6a088093c9445 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.00022558
0x5065c047066a4dc4bd4f9fff2f5c21b7429ac2e16fbe540e32210b5729b81588Approve114990702021-10-05 5:12:0362 days 15 hrs ago0xf7d4cb6e6c07054a0a3a0662efe6e495d1eb2b1f IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.00022558
0xa8eec82cd16b886953755edee905d1b44caf9e5739ae873b1ab03430f815ea1cApprove114906912021-10-04 22:12:2762 days 22 hrs ago0x23e1be0ced75c42bf1c034db38ca6ade1e7d62e9 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.00022558
0x5177caab7ca54f96f43b2e3aa1723003161d36c461ef80c69ce05ab1cf785c62Change Fees114888812021-10-04 20:41:5763 days 2 mins ago0x8143277931b680a6e0e69a07a4647444532e8eb3 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.000152925
0x2a635b1714d968fde59be02632b33857ef7ee6c1a3e27ec4565e7fba3b029d95Approve114877022021-10-04 19:43:0063 days 1 hr ago0x74efe72d71f20b87989f06ae39cafedb89a41f79 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.000270696
0xb46550b660202bc798dd37c2a2b2f8289734062e7613b4c148a151c8a6d59afdApprove114876222021-10-04 19:39:0063 days 1 hr ago0xdc6b08f4ce0deb954197f70afcb2a084ccfd3e67 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.00022558
0x1fea0f094752e61469d3bf2315ebca4bfcdbf043087e1b6d3967820a3f752c93Approve114874222021-10-04 19:29:0063 days 1 hr ago0x5e3773713f0a20806168d633652b905ee7253f83 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.000225584511
0x4a14e1397c066b38370b6226a837d81ea2e99b6a0541c5c57a42319ba898f0fbApprove114874082021-10-04 19:28:1863 days 1 hr ago0x8143277931b680a6e0e69a07a4647444532e8eb3 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.00022558
0x93e05fb57ce89d3b2958add16ac433e61c651d591d607d5d609959d261d71e28Change Fees114869552021-10-04 19:05:3963 days 1 hr ago0x8143277931b680a6e0e69a07a4647444532e8eb3 IN  0x37ab46eb1ffd44794ca9c859a81f75b804de07170 BNB0.000152925
0x53813a3e80f842a1676196c1579642a39b641f19ef8e15c05463fd33e02f82b50x60806040114868492021-10-04 19:00:2163 days 1 hr ago0x8143277931b680a6e0e69a07a4647444532e8eb3 IN  Contract Creation0 BNB0.029933125
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FOMOFRUNKPUPPY

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-10-04
*/

/**
 *ELON MUSK INSPIRED token
 * FOMO FRUNK PUPPY $FFPuppy
*/

// SPDX-License-Identifier: MIT
 
pragma solidity ^0.8.4;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
 
    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}
 
 
interface IERC20 {
 
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
 
 
}
 
 
library Address {
 
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }
 
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
 
        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
 
 
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
 
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }
 
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
 
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }
 
    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");
 
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
 
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}
 
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);
}
 
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 { }
}
 
contract Ownable is Context {
    address private _owner;
 
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    function owner() public view returns (address) {
        return _owner;
    }   
 
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}
 
interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
}
 
interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
 
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn, 
        uint amountOutMin, 
        address[] calldata path, 
        address to, 
        uint deadline) external; 
}
 
 
contract FOMOFRUNKPUPPY is ERC20, Ownable {
    using Address for address;
 
 
    IRouter public router;
    address public pair;
 
    bool private _liquidityMutex = false;
    uint256 public _tokenLiquidityThreshold = 1000e18;
    bool public ProvidingLiquidity = false;
 
    uint16 public feeliq;
    uint16 public feeliq_buy = 0; // Fee is initially set to 99% to avoid sniperbots
    uint16 public feeliq_sell = 99; // Fee is initially set to 99% to avoid sniperbots
    uint16 constant internal DIV = 100;
 
    mapping (address => bool) public exemptFee; 
 
    event LiquidityProvided(uint256 tokenAmount, uint256 nativeAmount, uint256 exchangeAmount);
    event LiquidityProvisionStateChanged(bool newState);
    event LiquidityThresholdUpdated(uint256 newThreshold);
 
 
    modifier mutexLock() {
        if (!_liquidityMutex) {
            _liquidityMutex = true;
            _;
            _liquidityMutex = false;
        }
    }
 
    constructor() ERC20("FomoFrunkPuppy", "FFPuppy") {
        _mint(msg.sender, 1e7 * 10 ** decimals());      
        exemptFee[msg.sender] = true;
 
        IRouter _router = IRouter(0x10ED43C718714eb63d5aA57B78B54704E256024E);
         // Create a koffeeSwap pair for this new token
        address _pair = IFactory(_router.factory())
            .createPair(address(this), _router.WETH());
 
        router = _router;
        pair = _pair;
 
        exemptFee[address(this)] = true;
    }
 
 
    function _transfer(address sender, address recipient, uint256 amount) internal override {        
 
        //calculate fee
        if(recipient == pair){
            feeliq = feeliq_sell;
        }
        else{
            feeliq = feeliq_buy;
        }
        uint256 fee = amount * feeliq / DIV;
 
        //set fee to zero if fees in contract are handled or exempted
        if (_liquidityMutex || exemptFee[sender] || exemptFee[recipient]) fee = 0;
 
        //send fees if threshold has been reached
        //don't do this on buys, breaks swap
        if (ProvidingLiquidity && sender != pair) handle_fees();      
 
        //rest to recipient
        super._transfer(sender, recipient, amount - fee);
 
        //send the fee to the contract
        if (fee > 0) {
            super._transfer(sender, address(this), fee);  
        }     
 
    }
 
    function handle_fees() private mutexLock {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance >= _tokenLiquidityThreshold) {
 
            //calculate how many tokens we need to exchange
            uint256 exchange = contractBalance / 2;
            uint256 exchangeOtherHalf = exchange;
 
            uint256 initBalance = address(this).balance;
            swapTokensForBNB(exchange);
            uint256 bnbBalance = address(this).balance - initBalance;
 
            addLiquidity(exchangeOtherHalf, bnbBalance);
        }
    }
 
 
    function swapTokensForBNB(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
 
        _approve(address(this), address(router), tokenAmount);
 
        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp);
 
    }
 
    function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(router), tokenAmount);
 
        // add the liquidity
        router.addLiquidityETH{value: bnbAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(0),
            block.timestamp
        );
    }
 
    function changeLiquidityProvide(bool state) external onlyOwner {
        //change liquidity providing state
        ProvidingLiquidity = state;
        emit LiquidityProvisionStateChanged(state);
    }
 
    function changeLiquidityTreshhold(uint256 new_amount) external onlyOwner {
        //change the treshhold
        _tokenLiquidityThreshold = new_amount;
        emit LiquidityThresholdUpdated(new_amount);
    }   
 
    function changeFees(uint16 _feeliq_buy, uint16 _feeliq_sell) external onlyOwner{
        feeliq_buy = _feeliq_buy;
        feeliq_sell = _feeliq_sell;
    }
 
 
    function updateExemptFee(address _address, bool state) external onlyOwner returns (bool) {
        exemptFee[_address] = state;
        return true;
    }
 
 
    // fallbacks
    receive() external payable {}
 
}

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":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"nativeAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeAmount","type":"uint256"}],"name":"LiquidityProvided","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"newState","type":"bool"}],"name":"LiquidityProvisionStateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"LiquidityThresholdUpdated","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":"ProvidingLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenLiquidityThreshold","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":"uint16","name":"_feeliq_buy","type":"uint16"},{"internalType":"uint16","name":"_feeliq_sell","type":"uint16"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"changeLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"changeLiquidityTreshhold","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":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeliq","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeliq_buy","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeliq_sell","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600760146101000a81548160ff021916908315150217905550683635c9adc5dea000006008556000600960006101000a81548160ff0219169083151502179055506000600960036101000a81548161ffff021916908361ffff1602179055506063600960056101000a81548161ffff021916908361ffff1602179055503480156200009057600080fd5b506040518060400160405280600e81526020017f466f6d6f4672756e6b50757070790000000000000000000000000000000000008152506040518060400160405280600781526020017f464650757070790000000000000000000000000000000000000000000000000081525081600390805190602001906200011592919062000688565b5080600490805190602001906200012e92919062000688565b5050506000620001436200050d60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200022133620001f76200051560201b60201c565b600a620002059190620008ff565b6298968062000215919062000a3c565b6200051e60201b60201c565b6001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060007310ed43c718714eb63d5aa57b78b54704e256024e905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002db57600080fd5b505afa158015620002f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031691906200074f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037957600080fd5b505afa1580156200038e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b491906200074f565b6040518363ffffffff1660e01b8152600401620003d3929190620007ca565b602060405180830381600087803b158015620003ee57600080fd5b505af115801562000403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042991906200074f565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505062000bd1565b600033905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000591576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200058890620007f7565b60405180910390fd5b620005a5600083836200068360201b60201c565b8060026000828254620005b9919062000847565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000610919062000847565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000677919062000819565b60405180910390a35050565b505050565b828054620006969062000ae8565b90600052602060002090601f016020900481019282620006ba576000855562000706565b82601f10620006d557805160ff191683800117855562000706565b8280016001018555821562000706579182015b8281111562000705578251825591602001919060010190620006e8565b5b50905062000715919062000719565b5090565b5b80821115620007345760008160009055506001016200071a565b5090565b600081519050620007498162000bb7565b92915050565b60006020828403121562000768576200076762000b7c565b5b6000620007788482850162000738565b91505092915050565b6200078c8162000a9d565b82525050565b6000620007a1601f8362000836565b9150620007ae8262000b8e565b602082019050919050565b620007c48162000ad1565b82525050565b6000604082019050620007e1600083018562000781565b620007f0602083018462000781565b9392505050565b60006020820190508181036000830152620008128162000792565b9050919050565b6000602082019050620008306000830184620007b9565b92915050565b600082825260208201905092915050565b6000620008548262000ad1565b9150620008618362000ad1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000899576200089862000b1e565b5b828201905092915050565b6000808291508390505b6001851115620008f657808604811115620008ce57620008cd62000b1e565b5b6001851615620008de5780820291505b8081029050620008ee8562000b81565b9450620008ae565b94509492505050565b60006200090c8262000ad1565b9150620009198362000adb565b9250620009487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000950565b905092915050565b60008262000962576001905062000a35565b8162000972576000905062000a35565b81600181146200098b57600281146200099657620009cc565b600191505062000a35565b60ff841115620009ab57620009aa62000b1e565b5b8360020a915084821115620009c557620009c462000b1e565b5b5062000a35565b5060208310610133831016604e8410600b841016171562000a065782820a90508381111562000a0057620009ff62000b1e565b5b62000a35565b62000a158484846001620008a4565b9250905081840481111562000a2f5762000a2e62000b1e565b5b81810290505b9392505050565b600062000a498262000ad1565b915062000a568362000ad1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a925762000a9162000b1e565b5b828202905092915050565b600062000aaa8262000ab1565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000b0157607f821691505b6020821081141562000b185762000b1762000b4d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b62000bc28162000a9d565b811462000bce57600080fd5b50565b612c0e8062000be16000396000f3fe6080604052600436106101855760003560e01c80638da5cb5b116100d1578063c5d32bb21161008a578063f2fde38b11610064578063f2fde38b146105cb578063f887ea40146105f4578063fa1ab85e1461061f578063fee638ab1461064a5761018c565b8063c5d32bb214610528578063dbac336114610565578063dd62ed3e1461058e5761018c565b80638da5cb5b1461040457806395d89b411461042f578063a457c2d71461045a578063a8aa1b3114610497578063a9059cbb146104c2578063c156f3ea146104ff5761018c565b80633487f0491161013e57806370a082311161011857806370a082311461035c578063715018a6146103995780637c32b610146103b057806381377ead146103db5761018c565b80633487f049146102b7578063355496ca146102e2578063395093511461031f5761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f957806323b872dd14610224578063313ce56714610261578063315761221461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610675565b6040516101b39190612373565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190611f32565b610707565b6040516101f0919061233d565b60405180910390f35b34801561020557600080fd5b5061020e610725565b60405161021b91906124d0565b60405180910390f35b34801561023057600080fd5b5061024b60048036038101906102469190611e9f565b61072f565b604051610258919061233d565b60405180910390f35b34801561026d57600080fd5b50610276610830565b6040516102839190612545565b60405180910390f35b34801561029857600080fd5b506102a1610839565b6040516102ae919061233d565b60405180910390f35b3480156102c357600080fd5b506102cc61084c565b6040516102d991906124b5565b60405180910390f35b3480156102ee57600080fd5b5061030960048036038101906103049190611ef2565b610860565b604051610316919061233d565b60405180910390f35b34801561032b57600080fd5b5061034660048036038101906103419190611f32565b61095a565b604051610353919061233d565b60405180910390f35b34801561036857600080fd5b50610383600480360381019061037e9190611e05565b610a06565b60405161039091906124d0565b60405180910390f35b3480156103a557600080fd5b506103ae610a4e565b005b3480156103bc57600080fd5b506103c5610ba6565b6040516103d291906124d0565b60405180910390f35b3480156103e757600080fd5b5061040260048036038101906103fd9190611f9f565b610bac565b005b34801561041057600080fd5b50610419610c81565b60405161042691906122c1565b60405180910390f35b34801561043b57600080fd5b50610444610cab565b6040516104519190612373565b60405180910390f35b34801561046657600080fd5b50610481600480360381019061047c9190611f32565b610d3d565b60405161048e919061233d565b60405180910390f35b3480156104a357600080fd5b506104ac610e31565b6040516104b991906122c1565b60405180910390f35b3480156104ce57600080fd5b506104e960048036038101906104e49190611f32565b610e57565b6040516104f6919061233d565b60405180910390f35b34801561050b57600080fd5b5061052660048036038101906105219190611f72565b610e75565b005b34801561053457600080fd5b5061054f600480360381019061054a9190611e05565b610f60565b60405161055c919061233d565b60405180910390f35b34801561057157600080fd5b5061058c60048036038101906105879190611fdf565b610f80565b005b34801561059a57600080fd5b506105b560048036038101906105b09190611e5f565b611058565b6040516105c291906124d0565b60405180910390f35b3480156105d757600080fd5b506105f260048036038101906105ed9190611e05565b6110df565b005b34801561060057600080fd5b506106096112a6565b6040516106169190612358565b60405180910390f35b34801561062b57600080fd5b506106346112cc565b60405161064191906124b5565b60405180910390f35b34801561065657600080fd5b5061065f6112e0565b60405161066c91906124b5565b60405180910390f35b606060038054610684906127a8565b80601f01602080910402602001604051908101604052809291908181526020018280546106b0906127a8565b80156106fd5780601f106106d2576101008083540402835291602001916106fd565b820191906000526020600020905b8154815290600101906020018083116106e057829003601f168201915b5050505050905090565b600061071b6107146112f4565b84846112fc565b6001905092915050565b6000600254905090565b600061073c8484846114c7565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107876112f4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fe90612415565b60405180910390fd5b610824856108136112f4565b858461081f9190612696565b6112fc565b60019150509392505050565b60006012905090565b600960009054906101000a900460ff1681565b600960019054906101000a900461ffff1681565b600061086a6112f4565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f090612435565b60405180910390fd5b81600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001905092915050565b60006109fc6109676112f4565b8484600160006109756112f4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109f791906125b5565b6112fc565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a566112f4565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adc90612435565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b610bb46112f4565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90612435565b60405180910390fd5b81600960036101000a81548161ffff021916908361ffff16021790555080600960056101000a81548161ffff021916908361ffff1602179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610cba906127a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce6906127a8565b8015610d335780601f10610d0857610100808354040283529160200191610d33565b820191906000526020600020905b815481529060010190602001808311610d1657829003601f168201915b5050505050905090565b60008060016000610d4c6112f4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0090612495565b60405180910390fd5b610e26610e146112f4565b858584610e219190612696565b6112fc565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610e6b610e646112f4565b84846114c7565b6001905092915050565b610e7d6112f4565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0390612435565b60405180910390fd5b80600960006101000a81548160ff0219169083151502179055507f6b2b6d5486033b6f5e55cb64594d63b17e4aba3dec4d4af4827944bc1b143eb681604051610f55919061233d565b60405180910390a150565b600a6020528060005260406000206000915054906101000a900460ff1681565b610f886112f4565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611017576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100e90612435565b60405180910390fd5b806008819055507f73f12163f06207d223005a3c79ec2345c1d51b4c7cfab9aedf331b30cba96c1e8160405161104d91906124d0565b60405180910390a150565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110e76112f4565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d90612435565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dd906123b5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960039054906101000a900461ffff1681565b600960059054906101000a900461ffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561136c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136390612475565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d3906123d5565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ba91906124d0565b60405180910390a3505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561154f57600960059054906101000a900461ffff16600960016101000a81548161ffff021916908361ffff16021790555061157d565b600960039054906101000a900461ffff16600960016101000a81548161ffff021916908361ffff1602179055505b6000606461ffff16600960019054906101000a900461ffff1661ffff16836115a5919061263c565b6115af919061260b565b9050600760149054906101000a900460ff16806116155750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806116695750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561167357600090505b600960009054906101000a900460ff1680156116dd5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156116eb576116ea61171c565b5b611701848483856116fc9190612696565b6117c3565b6000811115611716576117158430836117c3565b5b50505050565b600760149054906101000a900460ff166117c1576001600760146101000a81548160ff021916908315150217905550600061175630610a06565b905060085481106117a4576000600282611770919061260b565b90506000819050600047905061178583611a42565b600081476117939190612696565b905061179f8382611c94565b505050505b506000600760146101000a81548160ff0219169083151502179055505b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182a90612455565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189a90612395565b60405180910390fd5b6118ae838383611d82565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192b906123f5565b60405180910390fd5b81816119409190612696565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119d091906125b5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a3491906124d0565b60405180910390a350505050565b6000600267ffffffffffffffff811115611a5f57611a5e612896565b5b604051908082528060200260200182016040528015611a8d5781602001602082028036833780820191505090505b5090503081600081518110611aa557611aa4612867565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4757600080fd5b505afa158015611b5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7f9190611e32565b81600181518110611b9357611b92612867565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bfa30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c5e9594939291906124eb565b600060405180830381600087803b158015611c7857600080fd5b505af1158015611c8c573d6000803e3d6000fd5b505050505050565b611cc130600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806000426040518863ffffffff1660e01b8152600401611d29969594939291906122dc565b6060604051808303818588803b158015611d4257600080fd5b505af1158015611d56573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d7b919061200c565b5050505050565b505050565b600081359050611d9681612b7c565b92915050565b600081519050611dab81612b7c565b92915050565b600081359050611dc081612b93565b92915050565b600081359050611dd581612baa565b92915050565b600081359050611dea81612bc1565b92915050565b600081519050611dff81612bc1565b92915050565b600060208284031215611e1b57611e1a6128c5565b5b6000611e2984828501611d87565b91505092915050565b600060208284031215611e4857611e476128c5565b5b6000611e5684828501611d9c565b91505092915050565b60008060408385031215611e7657611e756128c5565b5b6000611e8485828601611d87565b9250506020611e9585828601611d87565b9150509250929050565b600080600060608486031215611eb857611eb76128c5565b5b6000611ec686828701611d87565b9350506020611ed786828701611d87565b9250506040611ee886828701611ddb565b9150509250925092565b60008060408385031215611f0957611f086128c5565b5b6000611f1785828601611d87565b9250506020611f2885828601611db1565b9150509250929050565b60008060408385031215611f4957611f486128c5565b5b6000611f5785828601611d87565b9250506020611f6885828601611ddb565b9150509250929050565b600060208284031215611f8857611f876128c5565b5b6000611f9684828501611db1565b91505092915050565b60008060408385031215611fb657611fb56128c5565b5b6000611fc485828601611dc6565b9250506020611fd585828601611dc6565b9150509250929050565b600060208284031215611ff557611ff46128c5565b5b600061200384828501611ddb565b91505092915050565b600080600060608486031215612025576120246128c5565b5b600061203386828701611df0565b935050602061204486828701611df0565b925050604061205586828701611df0565b9150509250925092565b600061206b8383612077565b60208301905092915050565b612080816126ca565b82525050565b61208f816126ca565b82525050565b60006120a082612570565b6120aa8185612593565b93506120b583612560565b8060005b838110156120e65781516120cd888261205f565b97506120d883612586565b9250506001810190506120b9565b5085935050505092915050565b6120fc816126dc565b82525050565b61210b8161272d565b82525050565b61211a8161273f565b82525050565b600061212b8261257b565b61213581856125a4565b9350612145818560208601612775565b61214e816128ca565b840191505092915050565b60006121666023836125a4565b9150612171826128db565b604082019050919050565b60006121896026836125a4565b91506121948261292a565b604082019050919050565b60006121ac6022836125a4565b91506121b782612979565b604082019050919050565b60006121cf6026836125a4565b91506121da826129c8565b604082019050919050565b60006121f26028836125a4565b91506121fd82612a17565b604082019050919050565b60006122156020836125a4565b915061222082612a66565b602082019050919050565b60006122386025836125a4565b915061224382612a8f565b604082019050919050565b600061225b6024836125a4565b915061226682612ade565b604082019050919050565b600061227e6025836125a4565b915061228982612b2d565b604082019050919050565b61229d816126e8565b82525050565b6122ac81612716565b82525050565b6122bb81612720565b82525050565b60006020820190506122d66000830184612086565b92915050565b600060c0820190506122f16000830189612086565b6122fe60208301886122a3565b61230b6040830187612111565b6123186060830186612111565b6123256080830185612086565b61233260a08301846122a3565b979650505050505050565b600060208201905061235260008301846120f3565b92915050565b600060208201905061236d6000830184612102565b92915050565b6000602082019050818103600083015261238d8184612120565b905092915050565b600060208201905081810360008301526123ae81612159565b9050919050565b600060208201905081810360008301526123ce8161217c565b9050919050565b600060208201905081810360008301526123ee8161219f565b9050919050565b6000602082019050818103600083015261240e816121c2565b9050919050565b6000602082019050818103600083015261242e816121e5565b9050919050565b6000602082019050818103600083015261244e81612208565b9050919050565b6000602082019050818103600083015261246e8161222b565b9050919050565b6000602082019050818103600083015261248e8161224e565b9050919050565b600060208201905081810360008301526124ae81612271565b9050919050565b60006020820190506124ca6000830184612294565b92915050565b60006020820190506124e560008301846122a3565b92915050565b600060a08201905061250060008301886122a3565b61250d6020830187612111565b818103604083015261251f8186612095565b905061252e6060830185612086565b61253b60808301846122a3565b9695505050505050565b600060208201905061255a60008301846122b2565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006125c082612716565b91506125cb83612716565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612600576125ff6127da565b5b828201905092915050565b600061261682612716565b915061262183612716565b92508261263157612630612809565b5b828204905092915050565b600061264782612716565b915061265283612716565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561268b5761268a6127da565b5b828202905092915050565b60006126a182612716565b91506126ac83612716565b9250828210156126bf576126be6127da565b5b828203905092915050565b60006126d5826126f6565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061273882612751565b9050919050565b600061274a82612716565b9050919050565b600061275c82612763565b9050919050565b600061276e826126f6565b9050919050565b60005b83811015612793578082015181840152602081019050612778565b838111156127a2576000848401525b50505050565b600060028204905060018216806127c057607f821691505b602082108114156127d4576127d3612838565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b612b85816126ca565b8114612b9057600080fd5b50565b612b9c816126dc565b8114612ba757600080fd5b50565b612bb3816126e8565b8114612bbe57600080fd5b50565b612bca81612716565b8114612bd557600080fd5b5056fea2646970667358221220842b0a06fa7fbe9cd93bafca9322ab0d214bd9de35978deed86326a2e24315ca64736f6c63430008070033

Deployed ByteCode Sourcemap

15662:4797:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5154:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7328:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6277:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7980:424;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6118:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15905:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15953:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20237:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8814:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6449:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14498:148;;;;;;;;;;;;;:::i;:::-;;15849:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20066:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14279:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5374:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9533:378;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15777:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6790:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19626:205;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16198:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19840:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7029:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14655:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15749:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15980:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16066:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5154:100;5208:13;5241:5;5234:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5154:100;:::o;7328:169::-;7411:4;7428:39;7437:12;:10;:12::i;:::-;7451:7;7460:6;7428:8;:39::i;:::-;7485:4;7478:11;;7328:169;;;;:::o;6277:108::-;6338:7;6365:12;;6358:19;;6277:108;:::o;7980:424::-;8086:4;8103:36;8113:6;8121:9;8132:6;8103:9;:36::i;:::-;8153:24;8180:11;:19;8192:6;8180:19;;;;;;;;;;;;;;;:33;8200:12;:10;:12::i;:::-;8180:33;;;;;;;;;;;;;;;;8153:60;;8252:6;8232:16;:26;;8224:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8314:57;8323:6;8331:12;:10;:12::i;:::-;8364:6;8345:16;:25;;;;:::i;:::-;8314:8;:57::i;:::-;8392:4;8385:11;;;7980:424;;;;;:::o;6118:93::-;6176:5;6201:2;6194:9;;6118:93;:::o;15905:38::-;;;;;;;;;;;;;:::o;15953:20::-;;;;;;;;;;;;;:::o;20237:157::-;20320:4;14420:12;:10;:12::i;:::-;14410:22;;:6;;;;;;;;;;;:22;;;14402:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20359:5:::1;20337:9;:19;20347:8;20337:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;20382:4;20375:11;;20237:157:::0;;;;:::o;8814:215::-;8902:4;8919:80;8928:12;:10;:12::i;:::-;8942:7;8988:10;8951:11;:25;8963:12;:10;:12::i;:::-;8951:25;;;;;;;;;;;;;;;:34;8977:7;8951:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;8919:8;:80::i;:::-;9017:4;9010:11;;8814:215;;;;:::o;6449:127::-;6523:7;6550:9;:18;6560:7;6550:18;;;;;;;;;;;;;;;;6543:25;;6449:127;;;:::o;14498:148::-;14420:12;:10;:12::i;:::-;14410:22;;:6;;;;;;;;;;;:22;;;14402:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14605:1:::1;14568:40;;14589:6;;;;;;;;;;;14568:40;;;;;;;;;;;;14636:1;14619:6;;:19;;;;;;;;;;;;;;;;;;14498:148::o:0;15849:49::-;;;;:::o;20066:159::-;14420:12;:10;:12::i;:::-;14410:22;;:6;;;;;;;;;;;:22;;;14402:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20169:11:::1;20156:10;;:24;;;;;;;;;;;;;;;;;;20205:12;20191:11;;:26;;;;;;;;;;;;;;;;;;20066:159:::0;;:::o;14279:79::-;14317:7;14344:6;;;;;;;;;;;14337:13;;14279:79;:::o;5374:104::-;5430:13;5463:7;5456:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5374:104;:::o;9533:378::-;9626:4;9643:24;9670:11;:25;9682:12;:10;:12::i;:::-;9670:25;;;;;;;;;;;;;;;:34;9696:7;9670:34;;;;;;;;;;;;;;;;9643:61;;9743:15;9723:16;:35;;9715:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9811:67;9820:12;:10;:12::i;:::-;9834:7;9862:15;9843:16;:34;;;;:::i;:::-;9811:8;:67::i;:::-;9899:4;9892:11;;;9533:378;;;;:::o;15777:19::-;;;;;;;;;;;;;:::o;6790:175::-;6876:4;6893:42;6903:12;:10;:12::i;:::-;6917:9;6928:6;6893:9;:42::i;:::-;6953:4;6946:11;;6790:175;;;;:::o;19626:205::-;14420:12;:10;:12::i;:::-;14410:22;;:6;;;;;;;;;;;:22;;;14402:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19765:5:::1;19744:18;;:26;;;;;;;;;;;;;;;;;;19786:37;19817:5;19786:37;;;;;;:::i;:::-;;;;;;;;19626:205:::0;:::o;16198:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;19840:214::-;14420:12;:10;:12::i;:::-;14410:22;;:6;;;;;;;;;;;:22;;;14402:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19983:10:::1;19956:24;:37;;;;20009;20035:10;20009:37;;;;;;:::i;:::-;;;;;;;;19840:214:::0;:::o;7029:151::-;7118:7;7145:11;:18;7157:5;7145:18;;;;;;;;;;;;;;;:27;7164:7;7145:27;;;;;;;;;;;;;;;;7138:34;;7029:151;;;;:::o;14655:244::-;14420:12;:10;:12::i;:::-;14410:22;;:6;;;;;;;;;;;:22;;;14402:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14764:1:::1;14744:22;;:8;:22;;;;14736:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;14854:8;14825:38;;14846:6;;;;;;;;;;;14825:38;;;;;;;;;;;;14883:8;14874:6;;:17;;;;;;;;;;;;;;;;;;14655:244:::0;:::o;15749:21::-;;;;;;;;;;;;;:::o;15980:28::-;;;;;;;;;;;;;:::o;16066:30::-;;;;;;;;;;;;;:::o;166:115::-;219:15;262:10;247:26;;166:115;:::o;12902:347::-;13021:1;13004:19;;:5;:19;;;;12996:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13102:1;13083:21;;:7;:21;;;;13075:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13187:6;13157:11;:18;13169:5;13157:18;;;;;;;;;;;;;;;:27;13176:7;13157:27;;;;;;;;;;;;;;;:36;;;;13225:7;13209:32;;13218:5;13209:32;;;13234:6;13209:32;;;;;;:::i;:::-;;;;;;;;12902:347;;;:::o;17159:883::-;17310:4;;;;;;;;;;;17297:17;;:9;:17;;;17294:128;;;17339:11;;;;;;;;;;;17330:6;;:20;;;;;;;;;;;;;;;;;;17294:128;;;17400:10;;;;;;;;;;;17391:6;;:19;;;;;;;;;;;;;;;;;;17294:128;17432:11;16185:3;17446:21;;17455:6;;;;;;;;;;;17446:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;17432:35;;17556:15;;;;;;;;;;;:36;;;;17575:9;:17;17585:6;17575:17;;;;;;;;;;;;;;;;;;;;;;;;;17556:36;:60;;;;17596:9;:20;17606:9;17596:20;;;;;;;;;;;;;;;;;;;;;;;;;17556:60;17552:73;;;17624:1;17618:7;;17552:73;17740:18;;;;;;;;;;;:36;;;;;17772:4;;;;;;;;;;;17762:14;;:6;:14;;;;17740:36;17736:55;;;17778:13;:11;:13::i;:::-;17736:55;17840:48;17856:6;17864:9;17884:3;17875:6;:12;;;;:::i;:::-;17840:15;:48::i;:::-;17952:1;17946:3;:7;17942:85;;;17970:43;17986:6;18002:4;18009:3;17970:15;:43::i;:::-;17942:85;17247:795;17159:883;;;:::o;18051:583::-;16509:15;;;;;;;;;;;16504:125;;16559:4;16541:15;;:22;;;;;;;;;;;;;;;;;;18103:23:::1;18129:24;18147:4;18129:9;:24::i;:::-;18103:50;;18187:24;;18168:15;:43;18164:463;;18292:16;18329:1;18311:15;:19;;;;:::i;:::-;18292:38;;18345:25;18373:8;18345:36;;18399:19;18421:21;18399:43;;18457:26;18474:8;18457:16;:26::i;:::-;18498:18;18543:11;18519:21;:35;;;;:::i;:::-;18498:56;;18572:43;18585:17;18604:10;18572:12;:43::i;:::-;18213:414;;;;18164:463;18092:542;16612:5:::0;16594:15;;:23;;;;;;;;;;;;;;;;;;16504:125;18051:583::o;10402:607::-;10526:1;10508:20;;:6;:20;;;;10500:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;10610:1;10589:23;;:9;:23;;;;10581:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;10666:47;10687:6;10695:9;10706:6;10666:20;:47::i;:::-;10727:21;10751:9;:17;10761:6;10751:17;;;;;;;;;;;;;;;;10727:41;;10804:6;10787:13;:23;;10779:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10900:6;10884:13;:22;;;;:::i;:::-;10864:9;:17;10874:6;10864:17;;;;;;;;;;;;;;;:42;;;;10941:6;10917:9;:20;10927:9;10917:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;10983:9;10966:35;;10975:6;10966:35;;;10994:6;10966:35;;;;;;:::i;:::-;;;;;;;;10489:520;10402:607;;;:::o;18646:463::-;18772:21;18810:1;18796:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18772:40;;18841:4;18823;18828:1;18823:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18867:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18857:4;18862:1;18857:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18894:53;18911:4;18926:6;;;;;;;;;;;18935:11;18894:8;:53::i;:::-;18987:6;;;;;;;;;;;:57;;;19045:11;19058:1;19061:4;19075;19082:15;18987:111;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18701:408;18646:463;:::o;19118:499::-;19266:53;19283:4;19298:6;;;;;;;;;;;19307:11;19266:8;:53::i;:::-;19363:6;;;;;;;;;;;:22;;;19393:9;19426:4;19446:11;19472:1;19515;19566;19583:15;19363:246;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19118:499;;:::o;13853:92::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;301:133;;;;:::o;440:137::-;485:5;523:6;510:20;501:29;;539:32;565:5;539:32;:::i;:::-;440:137;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;583:139;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;728:143;;;;:::o;877:329::-;936:6;985:2;973:9;964:7;960:23;956:32;953:119;;;991:79;;:::i;:::-;953:119;1111:1;1136:53;1181:7;1172:6;1161:9;1157:22;1136:53;:::i;:::-;1126:63;;1082:117;877:329;;;;:::o;1212:351::-;1282:6;1331:2;1319:9;1310:7;1306:23;1302:32;1299:119;;;1337:79;;:::i;:::-;1299:119;1457:1;1482:64;1538:7;1529:6;1518:9;1514:22;1482:64;:::i;:::-;1472:74;;1428:128;1212:351;;;;:::o;1569:474::-;1637:6;1645;1694:2;1682:9;1673:7;1669:23;1665:32;1662:119;;;1700:79;;:::i;:::-;1662:119;1820:1;1845:53;1890:7;1881:6;1870:9;1866:22;1845:53;:::i;:::-;1835:63;;1791:117;1947:2;1973:53;2018:7;2009:6;1998:9;1994:22;1973:53;:::i;:::-;1963:63;;1918:118;1569:474;;;;;:::o;2049:619::-;2126:6;2134;2142;2191:2;2179:9;2170:7;2166:23;2162:32;2159:119;;;2197:79;;:::i;:::-;2159:119;2317:1;2342:53;2387:7;2378:6;2367:9;2363:22;2342:53;:::i;:::-;2332:63;;2288:117;2444:2;2470:53;2515:7;2506:6;2495:9;2491:22;2470:53;:::i;:::-;2460:63;;2415:118;2572:2;2598:53;2643:7;2634:6;2623:9;2619:22;2598:53;:::i;:::-;2588:63;;2543:118;2049:619;;;;;:::o;2674:468::-;2739:6;2747;2796:2;2784:9;2775:7;2771:23;2767:32;2764:119;;;2802:79;;:::i;:::-;2764:119;2922:1;2947:53;2992:7;2983:6;2972:9;2968:22;2947:53;:::i;:::-;2937:63;;2893:117;3049:2;3075:50;3117:7;3108:6;3097:9;3093:22;3075:50;:::i;:::-;3065:60;;3020:115;2674:468;;;;;:::o;3148:474::-;3216:6;3224;3273:2;3261:9;3252:7;3248:23;3244:32;3241:119;;;3279:79;;:::i;:::-;3241:119;3399:1;3424:53;3469:7;3460:6;3449:9;3445:22;3424:53;:::i;:::-;3414:63;;3370:117;3526:2;3552:53;3597:7;3588:6;3577:9;3573:22;3552:53;:::i;:::-;3542:63;;3497:118;3148:474;;;;;:::o;3628:323::-;3684:6;3733:2;3721:9;3712:7;3708:23;3704:32;3701:119;;;3739:79;;:::i;:::-;3701:119;3859:1;3884:50;3926:7;3917:6;3906:9;3902:22;3884:50;:::i;:::-;3874:60;;3830:114;3628:323;;;;:::o;3957:470::-;4023:6;4031;4080:2;4068:9;4059:7;4055:23;4051:32;4048:119;;;4086:79;;:::i;:::-;4048:119;4206:1;4231:52;4275:7;4266:6;4255:9;4251:22;4231:52;:::i;:::-;4221:62;;4177:116;4332:2;4358:52;4402:7;4393:6;4382:9;4378:22;4358:52;:::i;:::-;4348:62;;4303:117;3957:470;;;;;:::o;4433:329::-;4492:6;4541:2;4529:9;4520:7;4516:23;4512:32;4509:119;;;4547:79;;:::i;:::-;4509:119;4667:1;4692:53;4737:7;4728:6;4717:9;4713:22;4692:53;:::i;:::-;4682:63;;4638:117;4433:329;;;;:::o;4768:663::-;4856:6;4864;4872;4921:2;4909:9;4900:7;4896:23;4892:32;4889:119;;;4927:79;;:::i;:::-;4889:119;5047:1;5072:64;5128:7;5119:6;5108:9;5104:22;5072:64;:::i;:::-;5062:74;;5018:128;5185:2;5211:64;5267:7;5258:6;5247:9;5243:22;5211:64;:::i;:::-;5201:74;;5156:129;5324:2;5350:64;5406:7;5397:6;5386:9;5382:22;5350:64;:::i;:::-;5340:74;;5295:129;4768:663;;;;;:::o;5437:179::-;5506:10;5527:46;5569:3;5561:6;5527:46;:::i;:::-;5605:4;5600:3;5596:14;5582:28;;5437:179;;;;:::o;5622:108::-;5699:24;5717:5;5699:24;:::i;:::-;5694:3;5687:37;5622:108;;:::o;5736:118::-;5823:24;5841:5;5823:24;:::i;:::-;5818:3;5811:37;5736:118;;:::o;5890:732::-;6009:3;6038:54;6086:5;6038:54;:::i;:::-;6108:86;6187:6;6182:3;6108:86;:::i;:::-;6101:93;;6218:56;6268:5;6218:56;:::i;:::-;6297:7;6328:1;6313:284;6338:6;6335:1;6332:13;6313:284;;;6414:6;6408:13;6441:63;6500:3;6485:13;6441:63;:::i;:::-;6434:70;;6527:60;6580:6;6527:60;:::i;:::-;6517:70;;6373:224;6360:1;6357;6353:9;6348:14;;6313:284;;;6317:14;6613:3;6606:10;;6014:608;;;5890:732;;;;:::o;6628:109::-;6709:21;6724:5;6709:21;:::i;:::-;6704:3;6697:34;6628:109;;:::o;6743:161::-;6845:52;6891:5;6845:52;:::i;:::-;6840:3;6833:65;6743:161;;:::o;6910:147::-;7005:45;7044:5;7005:45;:::i;:::-;7000:3;6993:58;6910:147;;:::o;7063:364::-;7151:3;7179:39;7212:5;7179:39;:::i;:::-;7234:71;7298:6;7293:3;7234:71;:::i;:::-;7227:78;;7314:52;7359:6;7354:3;7347:4;7340:5;7336:16;7314:52;:::i;:::-;7391:29;7413:6;7391:29;:::i;:::-;7386:3;7382:39;7375:46;;7155:272;7063:364;;;;:::o;7433:366::-;7575:3;7596:67;7660:2;7655:3;7596:67;:::i;:::-;7589:74;;7672:93;7761:3;7672:93;:::i;:::-;7790:2;7785:3;7781:12;7774:19;;7433:366;;;:::o;7805:::-;7947:3;7968:67;8032:2;8027:3;7968:67;:::i;:::-;7961:74;;8044:93;8133:3;8044:93;:::i;:::-;8162:2;8157:3;8153:12;8146:19;;7805:366;;;:::o;8177:::-;8319:3;8340:67;8404:2;8399:3;8340:67;:::i;:::-;8333:74;;8416:93;8505:3;8416:93;:::i;:::-;8534:2;8529:3;8525:12;8518:19;;8177:366;;;:::o;8549:::-;8691:3;8712:67;8776:2;8771:3;8712:67;:::i;:::-;8705:74;;8788:93;8877:3;8788:93;:::i;:::-;8906:2;8901:3;8897:12;8890:19;;8549:366;;;:::o;8921:::-;9063:3;9084:67;9148:2;9143:3;9084:67;:::i;:::-;9077:74;;9160:93;9249:3;9160:93;:::i;:::-;9278:2;9273:3;9269:12;9262:19;;8921:366;;;:::o;9293:::-;9435:3;9456:67;9520:2;9515:3;9456:67;:::i;:::-;9449:74;;9532:93;9621:3;9532:93;:::i;:::-;9650:2;9645:3;9641:12;9634:19;;9293:366;;;:::o;9665:::-;9807:3;9828:67;9892:2;9887:3;9828:67;:::i;:::-;9821:74;;9904:93;9993:3;9904:93;:::i;:::-;10022:2;10017:3;10013:12;10006:19;;9665:366;;;:::o;10037:::-;10179:3;10200:67;10264:2;10259:3;10200:67;:::i;:::-;10193:74;;10276:93;10365:3;10276:93;:::i;:::-;10394:2;10389:3;10385:12;10378:19;;10037:366;;;:::o;10409:::-;10551:3;10572:67;10636:2;10631:3;10572:67;:::i;:::-;10565:74;;10648:93;10737:3;10648:93;:::i;:::-;10766:2;10761:3;10757:12;10750:19;;10409:366;;;:::o;10781:115::-;10866:23;10883:5;10866:23;:::i;:::-;10861:3;10854:36;10781:115;;:::o;10902:118::-;10989:24;11007:5;10989:24;:::i;:::-;10984:3;10977:37;10902:118;;:::o;11026:112::-;11109:22;11125:5;11109:22;:::i;:::-;11104:3;11097:35;11026:112;;:::o;11144:222::-;11237:4;11275:2;11264:9;11260:18;11252:26;;11288:71;11356:1;11345:9;11341:17;11332:6;11288:71;:::i;:::-;11144:222;;;;:::o;11372:807::-;11621:4;11659:3;11648:9;11644:19;11636:27;;11673:71;11741:1;11730:9;11726:17;11717:6;11673:71;:::i;:::-;11754:72;11822:2;11811:9;11807:18;11798:6;11754:72;:::i;:::-;11836:80;11912:2;11901:9;11897:18;11888:6;11836:80;:::i;:::-;11926;12002:2;11991:9;11987:18;11978:6;11926:80;:::i;:::-;12016:73;12084:3;12073:9;12069:19;12060:6;12016:73;:::i;:::-;12099;12167:3;12156:9;12152:19;12143:6;12099:73;:::i;:::-;11372:807;;;;;;;;;:::o;12185:210::-;12272:4;12310:2;12299:9;12295:18;12287:26;;12323:65;12385:1;12374:9;12370:17;12361:6;12323:65;:::i;:::-;12185:210;;;;:::o;12401:252::-;12509:4;12547:2;12536:9;12532:18;12524:26;;12560:86;12643:1;12632:9;12628:17;12619:6;12560:86;:::i;:::-;12401:252;;;;:::o;12659:313::-;12772:4;12810:2;12799:9;12795:18;12787:26;;12859:9;12853:4;12849:20;12845:1;12834:9;12830:17;12823:47;12887:78;12960:4;12951:6;12887:78;:::i;:::-;12879:86;;12659:313;;;;:::o;12978:419::-;13144:4;13182:2;13171:9;13167:18;13159:26;;13231:9;13225:4;13221:20;13217:1;13206:9;13202:17;13195:47;13259:131;13385:4;13259:131;:::i;:::-;13251:139;;12978:419;;;:::o;13403:::-;13569:4;13607:2;13596:9;13592:18;13584:26;;13656:9;13650:4;13646:20;13642:1;13631:9;13627:17;13620:47;13684:131;13810:4;13684:131;:::i;:::-;13676:139;;13403:419;;;:::o;13828:::-;13994:4;14032:2;14021:9;14017:18;14009:26;;14081:9;14075:4;14071:20;14067:1;14056:9;14052:17;14045:47;14109:131;14235:4;14109:131;:::i;:::-;14101:139;;13828:419;;;:::o;14253:::-;14419:4;14457:2;14446:9;14442:18;14434:26;;14506:9;14500:4;14496:20;14492:1;14481:9;14477:17;14470:47;14534:131;14660:4;14534:131;:::i;:::-;14526:139;;14253:419;;;:::o;14678:::-;14844:4;14882:2;14871:9;14867:18;14859:26;;14931:9;14925:4;14921:20;14917:1;14906:9;14902:17;14895:47;14959:131;15085:4;14959:131;:::i;:::-;14951:139;;14678:419;;;:::o;15103:::-;15269:4;15307:2;15296:9;15292:18;15284:26;;15356:9;15350:4;15346:20;15342:1;15331:9;15327:17;15320:47;15384:131;15510:4;15384:131;:::i;:::-;15376:139;;15103:419;;;:::o;15528:::-;15694:4;15732:2;15721:9;15717:18;15709:26;;15781:9;15775:4;15771:20;15767:1;15756:9;15752:17;15745:47;15809:131;15935:4;15809:131;:::i;:::-;15801:139;;15528:419;;;:::o;15953:::-;16119:4;16157:2;16146:9;16142:18;16134:26;;16206:9;16200:4;16196:20;16192:1;16181:9;16177:17;16170:47;16234:131;16360:4;16234:131;:::i;:::-;16226:139;;15953:419;;;:::o;16378:::-;16544:4;16582:2;16571:9;16567:18;16559:26;;16631:9;16625:4;16621:20;16617:1;16606:9;16602:17;16595:47;16659:131;16785:4;16659:131;:::i;:::-;16651:139;;16378:419;;;:::o;16803:218::-;16894:4;16932:2;16921:9;16917:18;16909:26;;16945:69;17011:1;17000:9;16996:17;16987:6;16945:69;:::i;:::-;16803:218;;;;:::o;17027:222::-;17120:4;17158:2;17147:9;17143:18;17135:26;;17171:71;17239:1;17228:9;17224:17;17215:6;17171:71;:::i;:::-;17027:222;;;;:::o;17255:831::-;17518:4;17556:3;17545:9;17541:19;17533:27;;17570:71;17638:1;17627:9;17623:17;17614:6;17570:71;:::i;:::-;17651:80;17727:2;17716:9;17712:18;17703:6;17651:80;:::i;:::-;17778:9;17772:4;17768:20;17763:2;17752:9;17748:18;17741:48;17806:108;17909:4;17900:6;17806:108;:::i;:::-;17798:116;;17924:72;17992:2;17981:9;17977:18;17968:6;17924:72;:::i;:::-;18006:73;18074:3;18063:9;18059:19;18050:6;18006:73;:::i;:::-;17255:831;;;;;;;;:::o;18092:214::-;18181:4;18219:2;18208:9;18204:18;18196:26;;18232:67;18296:1;18285:9;18281:17;18272:6;18232:67;:::i;:::-;18092:214;;;;:::o;18393:132::-;18460:4;18483:3;18475:11;;18513:4;18508:3;18504:14;18496:22;;18393:132;;;:::o;18531:114::-;18598:6;18632:5;18626:12;18616:22;;18531:114;;;:::o;18651:99::-;18703:6;18737:5;18731:12;18721:22;;18651:99;;;:::o;18756:113::-;18826:4;18858;18853:3;18849:14;18841:22;;18756:113;;;:::o;18875:184::-;18974:11;19008:6;19003:3;18996:19;19048:4;19043:3;19039:14;19024:29;;18875:184;;;;:::o;19065:169::-;19149:11;19183:6;19178:3;19171:19;19223:4;19218:3;19214:14;19199:29;;19065:169;;;;:::o;19240:305::-;19280:3;19299:20;19317:1;19299:20;:::i;:::-;19294:25;;19333:20;19351:1;19333:20;:::i;:::-;19328:25;;19487:1;19419:66;19415:74;19412:1;19409:81;19406:107;;;19493:18;;:::i;:::-;19406:107;19537:1;19534;19530:9;19523:16;;19240:305;;;;:::o;19551:185::-;19591:1;19608:20;19626:1;19608:20;:::i;:::-;19603:25;;19642:20;19660:1;19642:20;:::i;:::-;19637:25;;19681:1;19671:35;;19686:18;;:::i;:::-;19671:35;19728:1;19725;19721:9;19716:14;;19551:185;;;;:::o;19742:348::-;19782:7;19805:20;19823:1;19805:20;:::i;:::-;19800:25;;19839:20;19857:1;19839:20;:::i;:::-;19834:25;;20027:1;19959:66;19955:74;19952:1;19949:81;19944:1;19937:9;19930:17;19926:105;19923:131;;;20034:18;;:::i;:::-;19923:131;20082:1;20079;20075:9;20064:20;;19742:348;;;;:::o;20096:191::-;20136:4;20156:20;20174:1;20156:20;:::i;:::-;20151:25;;20190:20;20208:1;20190:20;:::i;:::-;20185:25;;20229:1;20226;20223:8;20220:34;;;20234:18;;:::i;:::-;20220:34;20279:1;20276;20272:9;20264:17;;20096:191;;;;:::o;20293:96::-;20330:7;20359:24;20377:5;20359:24;:::i;:::-;20348:35;;20293:96;;;:::o;20395:90::-;20429:7;20472:5;20465:13;20458:21;20447:32;;20395:90;;;:::o;20491:89::-;20527:7;20567:6;20560:5;20556:18;20545:29;;20491:89;;;:::o;20586:126::-;20623:7;20663:42;20656:5;20652:54;20641:65;;20586:126;;;:::o;20718:77::-;20755:7;20784:5;20773:16;;20718:77;;;:::o;20801:86::-;20836:7;20876:4;20869:5;20865:16;20854:27;;20801:86;;;:::o;20893:141::-;20958:9;20991:37;21022:5;20991:37;:::i;:::-;20978:50;;20893:141;;;:::o;21040:121::-;21098:9;21131:24;21149:5;21131:24;:::i;:::-;21118:37;;21040:121;;;:::o;21167:126::-;21217:9;21250:37;21281:5;21250:37;:::i;:::-;21237:50;;21167:126;;;:::o;21299:113::-;21349:9;21382:24;21400:5;21382:24;:::i;:::-;21369:37;;21299:113;;;:::o;21418:307::-;21486:1;21496:113;21510:6;21507:1;21504:13;21496:113;;;21595:1;21590:3;21586:11;21580:18;21576:1;21571:3;21567:11;21560:39;21532:2;21529:1;21525:10;21520:15;;21496:113;;;21627:6;21624:1;21621:13;21618:101;;;21707:1;21698:6;21693:3;21689:16;21682:27;21618:101;21467:258;21418:307;;;:::o;21731:320::-;21775:6;21812:1;21806:4;21802:12;21792:22;;21859:1;21853:4;21849:12;21880:18;21870:81;;21936:4;21928:6;21924:17;21914:27;;21870:81;21998:2;21990:6;21987:14;21967:18;21964:38;21961:84;;;22017:18;;:::i;:::-;21961:84;21782:269;21731:320;;;:::o;22057:180::-;22105:77;22102:1;22095:88;22202:4;22199:1;22192:15;22226:4;22223:1;22216:15;22243:180;22291:77;22288:1;22281:88;22388:4;22385:1;22378:15;22412:4;22409:1;22402:15;22429:180;22477:77;22474:1;22467:88;22574:4;22571:1;22564:15;22598:4;22595:1;22588:15;22615:180;22663:77;22660:1;22653:88;22760:4;22757:1;22750:15;22784:4;22781:1;22774:15;22801:180;22849:77;22846:1;22839:88;22946:4;22943:1;22936:15;22970:4;22967:1;22960:15;23110:117;23219:1;23216;23209:12;23233:102;23274:6;23325:2;23321:7;23316:2;23309:5;23305:14;23301:28;23291:38;;23233:102;;;:::o;23341:222::-;23481:34;23477:1;23469:6;23465:14;23458:58;23550:5;23545:2;23537:6;23533:15;23526:30;23341:222;:::o;23569:225::-;23709:34;23705:1;23697:6;23693:14;23686:58;23778:8;23773:2;23765:6;23761:15;23754:33;23569:225;:::o;23800:221::-;23940:34;23936:1;23928:6;23924:14;23917:58;24009:4;24004:2;23996:6;23992:15;23985:29;23800:221;:::o;24027:225::-;24167:34;24163:1;24155:6;24151:14;24144:58;24236:8;24231:2;24223:6;24219:15;24212:33;24027:225;:::o;24258:227::-;24398:34;24394:1;24386:6;24382:14;24375:58;24467:10;24462:2;24454:6;24450:15;24443:35;24258:227;:::o;24491:182::-;24631:34;24627:1;24619:6;24615:14;24608:58;24491:182;:::o;24679:224::-;24819:34;24815:1;24807:6;24803:14;24796:58;24888:7;24883:2;24875:6;24871:15;24864:32;24679:224;:::o;24909:223::-;25049:34;25045:1;25037:6;25033:14;25026:58;25118:6;25113:2;25105:6;25101:15;25094:31;24909:223;:::o;25138:224::-;25278:34;25274:1;25266:6;25262:14;25255:58;25347:7;25342:2;25334:6;25330:15;25323:32;25138:224;:::o;25368:122::-;25441:24;25459:5;25441:24;:::i;:::-;25434:5;25431:35;25421:63;;25480:1;25477;25470:12;25421:63;25368:122;:::o;25496:116::-;25566:21;25581:5;25566:21;:::i;:::-;25559:5;25556:32;25546:60;;25602:1;25599;25592:12;25546:60;25496:116;:::o;25618:120::-;25690:23;25707:5;25690:23;:::i;:::-;25683:5;25680:34;25670:62;;25728:1;25725;25718:12;25670:62;25618:120;:::o;25744:122::-;25817:24;25835:5;25817:24;:::i;:::-;25810:5;25807:35;25797:63;;25856:1;25853;25846:12;25797:63;25744:122;:::o

Swarm Source

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