Contract 0x506f458fcfd60a49eb688842d49269305392367c

 
Txn Hash
Block
From
To
Value [Txn Fee]
0x753cfbdd2799259b851b32c09f39f6880fbbbd38305ac97566c58cfb675bf6fc26144732020-11-27 23:05:452 days 15 hrs ago0xad97f5ebdc93adc9c786a24a8b4fcc4e62ae11ac IN  BSCswap: LFI 20 BNB0.001020142
0x25da0da7d2dfc0392e96aa8df4f10e5407019ff7d168f2dcfcc9032b63f7f3a726060512020-11-27 16:04:312 days 22 hrs ago0xaa27e60ff80ec662961834502a3a5deee7d7cca2 IN  BSCswap: LFI 20 BNB0.001020142
0x452443877f5d19ccb65869529a01942556311638781fdb077fc9497f34387d0326006442020-11-27 11:33:293 days 2 hrs ago0xd5d7ce3b456b10aea850ae2c27e9b90f7a82c76f IN  BSCswap: LFI 20 BNB0.00088684
0x6854afd66460a30a8f3bba5362b3a2a82ab62846bba4bdfd99c3e8825bb4575c25857842020-11-26 23:09:543 days 15 hrs ago0xc8ab5af83562c64af5220633aba35bf3427ee3f0 IN  BSCswap: LFI 20 BNB0.00042088
0x79da4ca4f5ab54e005fda5d8e3be9bb45898878c8f27e4a0e8959e9ad7e399e225856452020-11-26 23:02:573 days 15 hrs ago0x7179346d591677982d3e114e85cf180aebb32531 IN  BSCswap: LFI 20 BNB0.00072112
0x154949cc19c61e119f7315180751efa9a2cb5c95e3ab0f62f3055cd5e3e283e125800362020-11-26 18:22:303 days 19 hrs ago0xdb55069164ea8fe49433811b187cd47069c0741a IN  BSCswap: LFI 20 BNB0.001020142
0x609b1fc0a6f45d6e7d695fd7d89fe506244d678fd094c51a281cd13cffd3f71d25799802020-11-26 18:19:423 days 19 hrs ago0xdb55069164ea8fe49433811b187cd47069c0741a IN  BSCswap: LFI 20 BNB0.00088684
0x02e23e5d07ac1cd28b537f633701fa3322089599eb491e598cb6491896f89adb25790692020-11-26 17:34:093 days 20 hrs ago0xf57e6f06151e8e578eed08b7ebf8db4c198a6330 IN  BSCswap: LFI 20 BNB0.001020142
0x4723162e1b480b467477496fe8f7f7d77965efbfbe2c1df7c1cf83392490808625779822020-11-26 16:39:483 days 21 hrs ago0xecd3e2e09af58b720a1ff50118bd1008fb7d6e6d IN  BSCswap: LFI 20 BNB0.001020142
0x65f05f70a4e696f2b22980a1a59389314cca45557cc6949dc45e6df477eb03e725777672020-11-26 16:29:033 days 21 hrs ago0x21d96c584781bbea508a75f479d910f02838cb88 IN  BSCswap: LFI 20 BNB0.001020142
0xe5765913c9773ff65ea15affa99ef77aa3d3ada583d4372f57d147bf3625aeb925772902020-11-26 16:05:123 days 22 hrs ago0x7be114a533a8b88f96427927814f0fb9cb92e8c7 IN  BSCswap: LFI 20 BNB0.001020142
0x746fd5a5296818238bb07cffd00e6ca1e4fdfd35cc96b5c48a3b4da6a957439f25751502020-11-26 14:18:033 days 23 hrs ago0x3e3638af11ec831e9e75e4e8d4f4841add55b3b1 IN  BSCswap: LFI 20 BNB0.001020142
0x71a065774c4bbd0089f1fa23b5a3716eb3efd5eed79c47a04a51da4ed58eef0925703222020-11-26 10:16:394 days 3 hrs ago0x445dfe48b21e1532da0ad11f57ad0b25de5ca5ad IN  BSCswap: LFI 20 BNB0.00072112
0x3f32f4d5cc0978b130a28c99ceb9f000318c7100f8aff1067d8758408059766c25693192020-11-26 9:26:174 days 4 hrs ago0x32be354a8bce8cb11ebacd825dfc18e15acb227a IN  BSCswap: LFI 20 BNB0.001020142
0x53b3b0e0ac7ac64eff2a43df8ff638299ea75b4f5c4582d516ff343b926705c025597082020-11-26 1:23:364 days 12 hrs ago0xcba41e194105dd339ed32bd29982f0f87bf02122 IN  BSCswap: LFI 20 BNB0.00028958
0x2cb4e5031f566ba2098acd86b7b0df40d006e497dda3aa66e07bf95f4241402925523302020-11-25 19:14:004 days 18 hrs ago0xc8ab5af83562c64af5220633aba35bf3427ee3f0 IN  BSCswap: LFI 20 BNB0.00072112
0x48a8b7b2130e980c8ccf1157d882dd8c8d7d2bd55512d85d2a4377db1afbb1ad25493412020-11-25 16:44:334 days 21 hrs ago0xf57e6f06151e8e578eed08b7ebf8db4c198a6330 IN  BSCswap: LFI 20 BNB0.00088684
0xcb8403c15ee0884e652209d4d22ab992157b054d46b200b9ff59f91c14fa0cb125474412020-11-25 15:09:334 days 23 hrs ago0x0895ec7b50ab3cd76d35c357e6082e0e4e340026 IN  BSCswap: LFI 20 BNB0.00088684
0xc8c615b0bda37b2675826151a0c906a678ed00a4a1b808f40051fb295344f1cf25208082020-11-24 16:54:445 days 21 hrs ago0xad97f5ebdc93adc9c786a24a8b4fcc4e62ae11ac IN  BSCswap: LFI 20 BNB0.00088684
0xc542f6031b98fcdb32af3a9644065b15ed053277b2184fcbacf9bbf78c77cc4f25202212020-11-24 16:25:235 days 21 hrs ago0x02c65eb2840fe0a0398b55a1089a73d5b800fbcc IN  BSCswap: LFI 20 BNB0.001020142
0x1f54b998643f437b8be63f77d0abe27a23281f94d4e06e0bf2974278483291e425189622020-11-24 15:22:265 days 22 hrs ago0xa64e821d6bf7b5d4f0ec43147702519fffc9cc6f IN  BSCswap: LFI 20 BNB0.001020142
0x9476f239a4c24691cbf2c105c405df7c1fb14460a329a90e356cccd22397c2e325117722020-11-24 9:21:446 days 4 hrs ago0xadadd026ba0292d8268503391e20c04fad01edb5 IN  BSCswap: LFI 20 BNB0.001020142
0xe274db461ce7db6cee7903a9feb7feed74b9f6d483d4100cc3844987ed40b99525096302020-11-24 7:34:356 days 6 hrs ago0xc16706c4190f0af62ecc5e28c35c404f10f38f1a IN  BSCswap: LFI 20 BNB0.00088684
0x096ca8b578ee3fbd1572e625ac8d46fa2f358e5c99c5d5ca64ac40d7d866f70b25089822020-11-24 7:01:576 days 7 hrs ago0x43f929ed01a47c4d68fd9465c82804be0fed77e1 IN  BSCswap: LFI 20 BNB0.001020142
0xcd26320ed29e0f95fa5d724f68c1851130189c3124cf7a9eb3d0b616129b5cec25009942020-11-24 0:21:336 days 13 hrs ago0xe632d2113b817ba54c9af806bcdc6940a9f882d0 IN  BSCswap: LFI 20 BNB0.00088684
[ Download CSV Export 

OVERVIEW

BSCswap pool to exchange between LFI and WBNB.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x854e409611be57ab5cccb259657aae1d491347ec73a67115e3f81be1cce0b66326893672020-11-30 13:32:4439 mins ago BSCswap: LFI 2 Binance: WBNB Token0 BNB
0x854e409611be57ab5cccb259657aae1d491347ec73a67115e3f81be1cce0b66326893672020-11-30 13:32:4439 mins ago BSCswap: LFI 2 0x7661c7714a2ae18bd224d2bfa7619d6ab7b8f6400 BNB
0x854e409611be57ab5cccb259657aae1d491347ec73a67115e3f81be1cce0b66326893672020-11-30 13:32:4439 mins ago BSCswap: LFI 2 Binance: WBNB Token0 BNB
0x854e409611be57ab5cccb259657aae1d491347ec73a67115e3f81be1cce0b66326893672020-11-30 13:32:4439 mins ago BSCswap: Router BSCswap: LFI 20 BNB
0x854e409611be57ab5cccb259657aae1d491347ec73a67115e3f81be1cce0b66326893672020-11-30 13:32:4439 mins ago BSCswap: Router BSCswap: LFI 20 BNB
0x6bb2b4faea5b7c5c36bfbcc86fb7aaad81b8bafb68e533b3168cd444fa825d8526893112020-11-30 13:29:5642 mins ago BSCswap: LFI 2 Binance: WBNB Token0 BNB
0x6bb2b4faea5b7c5c36bfbcc86fb7aaad81b8bafb68e533b3168cd444fa825d8526893112020-11-30 13:29:5642 mins ago BSCswap: LFI 2 0x7661c7714a2ae18bd224d2bfa7619d6ab7b8f6400 BNB
0x6bb2b4faea5b7c5c36bfbcc86fb7aaad81b8bafb68e533b3168cd444fa825d8526893112020-11-30 13:29:5642 mins ago BSCswap: LFI 2 0x7661c7714a2ae18bd224d2bfa7619d6ab7b8f6400 BNB
0x6bb2b4faea5b7c5c36bfbcc86fb7aaad81b8bafb68e533b3168cd444fa825d8526893112020-11-30 13:29:5642 mins ago BSCswap: Router BSCswap: LFI 20 BNB
0x6bb2b4faea5b7c5c36bfbcc86fb7aaad81b8bafb68e533b3168cd444fa825d8526893112020-11-30 13:29:5642 mins ago BSCswap: Router BSCswap: LFI 20 BNB
0xdb644fcaac59c53e5d5af3514f92f8b8cd391e73600ec257cc1786d70779660a26891332020-11-30 13:21:0251 mins ago BSCswap: LFI 2 Binance: WBNB Token0 BNB
0xdb644fcaac59c53e5d5af3514f92f8b8cd391e73600ec257cc1786d70779660a26891332020-11-30 13:21:0251 mins ago BSCswap: LFI 2 0x7661c7714a2ae18bd224d2bfa7619d6ab7b8f6400 BNB
0xdb644fcaac59c53e5d5af3514f92f8b8cd391e73600ec257cc1786d70779660a26891332020-11-30 13:21:0251 mins ago BSCswap: LFI 2 0x7661c7714a2ae18bd224d2bfa7619d6ab7b8f6400 BNB
0xdb644fcaac59c53e5d5af3514f92f8b8cd391e73600ec257cc1786d70779660a26891332020-11-30 13:21:0251 mins ago BSCswap: Router BSCswap: LFI 20 BNB
0xdb644fcaac59c53e5d5af3514f92f8b8cd391e73600ec257cc1786d70779660a26891332020-11-30 13:21:0251 mins ago BSCswap: Router BSCswap: LFI 20 BNB
0xf12e0182fb6139a549c7b121285ed8e0c4ea869cf7f5266872ecfe454450586f26889932020-11-30 13:14:0258 mins ago BSCswap: LFI 2 Binance: WBNB Token0 BNB
0xf12e0182fb6139a549c7b121285ed8e0c4ea869cf7f5266872ecfe454450586f26889932020-11-30 13:14:0258 mins ago BSCswap: LFI 2 0x7661c7714a2ae18bd224d2bfa7619d6ab7b8f6400 BNB
0xf12e0182fb6139a549c7b121285ed8e0c4ea869cf7f5266872ecfe454450586f26889932020-11-30 13:14:0258 mins ago BSCswap: LFI 2 0x7661c7714a2ae18bd224d2bfa7619d6ab7b8f6400 BNB
0xf12e0182fb6139a549c7b121285ed8e0c4ea869cf7f5266872ecfe454450586f26889932020-11-30 13:14:0258 mins ago BSCswap: Router BSCswap: LFI 20 BNB
0xf12e0182fb6139a549c7b121285ed8e0c4ea869cf7f5266872ecfe454450586f26889932020-11-30 13:14:0258 mins ago BSCswap: Router BSCswap: LFI 20 BNB
0x59810414c0e90e75f6fbebbb82f9673b78313f99658272d6f1aa5a2f9e9dbb7126884342020-11-30 12:46:051 hr 26 mins ago 0x15c67f69f0b99684e44d7e00fe64141b0b90fa5c BSCswap: LFI 20 BNB
0x32856cf7e8fb5cefd05cc2d9fdcb59f77b69adae9db8d81ee91d42c7378fc90026884192020-11-30 12:45:201 hr 27 mins ago BSCswap: LFI 2 BSCswap: Factory Contract0 BNB
0x32856cf7e8fb5cefd05cc2d9fdcb59f77b69adae9db8d81ee91d42c7378fc90026884192020-11-30 12:45:201 hr 27 mins ago BSCswap: LFI 2 Binance: WBNB Token0 BNB
0x32856cf7e8fb5cefd05cc2d9fdcb59f77b69adae9db8d81ee91d42c7378fc90026884192020-11-30 12:45:201 hr 27 mins ago BSCswap: LFI 2 0x7661c7714a2ae18bd224d2bfa7619d6ab7b8f6400 BNB
0x32856cf7e8fb5cefd05cc2d9fdcb59f77b69adae9db8d81ee91d42c7378fc90026884192020-11-30 12:45:201 hr 27 mins ago BSCswap: Router BSCswap: LFI 20 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x12e048d01535e2b49675d22078f64fd2307d8a0c

Contract Name:
BSCswapPair

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2020-09-14
*/

/**
 *Submitted for verification at Bscscan.com on 2020-09-13
*/

// Dependency file: contracts/libraries/SafeMath.sol

// SPDX-License-Identifier: GPL-3.0-or-later

// pragma solidity =0.6.12;

// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)

library SafeMathBSCswap {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, 'ds-math-add-overflow');
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }

    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }
}

// Dependency file: contracts/interfaces/IBSCswapCallee.sol

// pragma solidity >=0.5.0;

interface IBSCswapCallee {
    function BSCswapCall(address sender, uint amount0, uint amount1, bytes calldata data) external;
}

// Dependency file: contracts/interfaces/IBSCswapFactory.sol

// pragma solidity >=0.5.0;

interface IBSCswapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

// Dependency file: contracts/interfaces/IBEP20.sol

// pragma solidity >=0.5.0;

interface IBEP20BSCswap {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
}

// Dependency file: contracts/libraries/UQ112x112.sol

// pragma solidity =0.6.12;

// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))

// range: [0, 2**112 - 1]
// resolution: 1 / 2**112

library UQ112x112 {
    uint224 constant Q112 = 2**112;

    // encode a uint112 as a UQ112x112
    function encode(uint112 y) internal pure returns (uint224 z) {
        z = uint224(y) * Q112; // never overflows
    }

    // divide a UQ112x112 by a uint112, returning a UQ112x112
    function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {
        z = x / uint224(y);
    }
}

// Dependency file: contracts/libraries/Math.sol

// pragma solidity =0.6.12;

// a library for performing various math operations

library Math {
    function min(uint x, uint y) internal pure returns (uint z) {
        z = x < y ? x : y;
    }

    // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)
    function sqrt(uint y) internal pure returns (uint z) {
        if (y > 3) {
            z = y;
            uint x = y / 2 + 1;
            while (x < z) {
                z = x;
                x = (y / x + x) / 2;
            }
        } else if (y != 0) {
            z = 1;
        }
    }
}

// Dependency file: contracts/BSCswapBEP20.sol

// pragma solidity =0.6.12;

// import './libraries/SafeMath.sol';

contract BSCswapBEP20 {
    using SafeMathBSCswap for uint;

    string public constant name = 'BSCswap LP Token';
    string public constant symbol = 'BLP';
    uint8 public constant decimals = 18;
    uint  public totalSupply;
    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;

    bytes32 public DOMAIN_SEPARATOR;
    // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
    mapping(address => uint) public nonces;

    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    constructor() public {
        uint chainId;
        assembly {
            chainId := chainid()
        }
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),
                keccak256(bytes(name)),
                keccak256(bytes('1')),
                chainId,
                address(this)
            )
        );
    }

    function _mint(address to, uint value) internal {
        totalSupply = totalSupply.add(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint value) internal {
        balanceOf[from] = balanceOf[from].sub(value);
        totalSupply = totalSupply.sub(value);
        emit Transfer(from, address(0), value);
    }

    function _approve(address owner, address spender, uint value) private {
        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(address from, address to, uint value) private {
        balanceOf[from] = balanceOf[from].sub(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(from, to, value);
    }

    function approve(address spender, uint value) external returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transfer(address to, uint value) external returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(address from, address to, uint value) external returns (bool) {
        if (allowance[from][msg.sender] != uint(-1)) {
            allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);
        }
        _transfer(from, to, value);
        return true;
    }

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
        require(deadline >= block.timestamp, 'BSCswap: EXPIRED');
        bytes32 digest = keccak256(
            abi.encodePacked(
                '\x19\x01',
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline))
            )
        );
        address recoveredAddress = ecrecover(digest, v, r, s);
        require(recoveredAddress != address(0) && recoveredAddress == owner, 'BSCswap: INVALID_SIGNATURE');
        _approve(owner, spender, value);
    }
}

pragma solidity =0.6.12;

// import './BSCswapBEP20.sol';
// import './libraries/Math.sol';
// import './libraries/UQ112x112.sol';
// import './interfaces/IBEP20.sol';
// import './interfaces/IBSCswapFactory.sol';
// import './interfaces/IBSCswapCallee.sol';

contract BSCswapPair is BSCswapBEP20 {
    using SafeMathBSCswap  for uint;
    using UQ112x112 for uint224;

    uint public constant MINIMUM_LIQUIDITY = 10**3;
    bytes4 private constant SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)')));

    address public factory;
    address public token0;
    address public token1;

    uint112 private reserve0;           // uses single storage slot, accessible via getReserves
    uint112 private reserve1;           // uses single storage slot, accessible via getReserves
    uint32  private blockTimestampLast; // uses single storage slot, accessible via getReserves

    uint public price0CumulativeLast;
    uint public price1CumulativeLast;
    uint public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event

    uint private unlocked = 1;
    modifier lock() {
        require(unlocked == 1, 'BSCswap: LOCKED');
        unlocked = 0;
        _;
        unlocked = 1;
    }

    function getReserves() public view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) {
        _reserve0 = reserve0;
        _reserve1 = reserve1;
        _blockTimestampLast = blockTimestampLast;
    }

    function _safeTransfer(address token, address to, uint value) private {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'BSCswap: TRANSFER_FAILED');
    }

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    constructor() public {
        factory = msg.sender;
    }

    // called once by the factory at time of deployment
    function initialize(address _token0, address _token1) external {
        require(msg.sender == factory, 'BSCswap: FORBIDDEN'); // sufficient check
        token0 = _token0;
        token1 = _token1;
    }

    // update reserves and, on the first call per block, price accumulators
    function _update(uint balance0, uint balance1, uint112 _reserve0, uint112 _reserve1) private {
        require(balance0 <= uint112(-1) && balance1 <= uint112(-1), 'BSCswap: OVERFLOW');
        uint32 blockTimestamp = uint32(block.timestamp % 2**32);
        uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired
        if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {
            // * never overflows, and + overflow is desired
            price0CumulativeLast += uint(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) * timeElapsed;
            price1CumulativeLast += uint(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) * timeElapsed;
        }
        reserve0 = uint112(balance0);
        reserve1 = uint112(balance1);
        blockTimestampLast = blockTimestamp;
        emit Sync(reserve0, reserve1);
    }

    // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)
    function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {
        address feeTo = IBSCswapFactory(factory).feeTo();
        feeOn = feeTo != address(0);
        uint _kLast = kLast; // gas savings
        if (feeOn) {
            if (_kLast != 0) {
                uint rootK = Math.sqrt(uint(_reserve0).mul(_reserve1));
                uint rootKLast = Math.sqrt(_kLast);
                if (rootK > rootKLast) {
                    uint numerator = totalSupply.mul(rootK.sub(rootKLast));
                    uint denominator = rootK.mul(5).add(rootKLast);
                    uint liquidity = numerator / denominator;
                    if (liquidity > 0) _mint(feeTo, liquidity);
                }
            }
        } else if (_kLast != 0) {
            kLast = 0;
        }
    }

    // this low-level function should be called from a contract which performs // important safety checks
    function mint(address to) external lock returns (uint liquidity) {
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        uint balance0 = IBEP20BSCswap(token0).balanceOf(address(this));
        uint balance1 = IBEP20BSCswap(token1).balanceOf(address(this));
        uint amount0 = balance0.sub(_reserve0);
        uint amount1 = balance1.sub(_reserve1);

        bool feeOn = _mintFee(_reserve0, _reserve1);
        uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee
        if (_totalSupply == 0) {
            liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);
           _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens
        } else {
            liquidity = Math.min(amount0.mul(_totalSupply) / _reserve0, amount1.mul(_totalSupply) / _reserve1);
        }
        require(liquidity > 0, 'BSCswap: INSUFFICIENT_LIQUIDITY_MINTED');
        _mint(to, liquidity);

        _update(balance0, balance1, _reserve0, _reserve1);
        if (feeOn) kLast = uint(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date
        emit Mint(msg.sender, amount0, amount1);
    }

    // this low-level function should be called from a contract which performs // important safety checks
    function burn(address to) external lock returns (uint amount0, uint amount1) {
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        address _token0 = token0;                                // gas savings
        address _token1 = token1;                                // gas savings
        uint balance0 = IBEP20BSCswap(_token0).balanceOf(address(this));
        uint balance1 = IBEP20BSCswap(_token1).balanceOf(address(this));
        uint liquidity = balanceOf[address(this)];

        bool feeOn = _mintFee(_reserve0, _reserve1);
        uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee
        amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution
        amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution
        require(amount0 > 0 && amount1 > 0, 'BSCswap: INSUFFICIENT_LIQUIDITY_BURNED');
        _burn(address(this), liquidity);
        _safeTransfer(_token0, to, amount0);
        _safeTransfer(_token1, to, amount1);
        balance0 = IBEP20BSCswap(_token0).balanceOf(address(this));
        balance1 = IBEP20BSCswap(_token1).balanceOf(address(this));

        _update(balance0, balance1, _reserve0, _reserve1);
        if (feeOn) kLast = uint(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date
        emit Burn(msg.sender, amount0, amount1, to);
    }

    // this low-level function should be called from a contract which performs // important safety checks
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external lock {
        require(amount0Out > 0 || amount1Out > 0, 'BSCswap: INSUFFICIENT_OUTPUT_AMOUNT');
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        require(amount0Out < _reserve0 && amount1Out < _reserve1, 'BSCswap: INSUFFICIENT_LIQUIDITY');

        uint balance0;
        uint balance1;
        { // scope for _token{0,1}, avoids stack too deep errors
        address _token0 = token0;
        address _token1 = token1;
        require(to != _token0 && to != _token1, 'BSCswap: INVALID_TO');
        if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens
        if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens
        if (data.length > 0) IBSCswapCallee(to).BSCswapCall(msg.sender, amount0Out, amount1Out, data);
        balance0 = IBEP20BSCswap(_token0).balanceOf(address(this));
        balance1 = IBEP20BSCswap(_token1).balanceOf(address(this));
        }
        uint amount0In = balance0 > _reserve0 - amount0Out ? balance0 - (_reserve0 - amount0Out) : 0;
        uint amount1In = balance1 > _reserve1 - amount1Out ? balance1 - (_reserve1 - amount1Out) : 0;
        require(amount0In > 0 || amount1In > 0, 'BSCswap: INSUFFICIENT_INPUT_AMOUNT');
        { // scope for reserve{0,1}Adjusted, avoids stack too deep errors
        uint balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));
        uint balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));
        require(balance0Adjusted.mul(balance1Adjusted) >= uint(_reserve0).mul(_reserve1).mul(1000**2), 'BSCswap: K');
        }

        _update(balance0, balance1, _reserve0, _reserve1);
        emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);
    }

    // force balances to match reserves
    function skim(address to) external lock {
        address _token0 = token0; // gas savings
        address _token1 = token1; // gas savings
        _safeTransfer(_token0, to, IBEP20BSCswap(_token0).balanceOf(address(this)).sub(reserve0));
        _safeTransfer(_token1, to, IBEP20BSCswap(_token1).balanceOf(address(this)).sub(reserve1));
    }

    // force reserves to match balances
    function sync() external lock {
        _update(IBEP20BSCswap(token0).balanceOf(address(this)), IBEP20BSCswap(token1).balanceOf(address(this)), reserve0, reserve1);
    }
}

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":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","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":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINIMUM_LIQUIDITY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint112","name":"_reserve0","type":"uint112"},{"internalType":"uint112","name":"_reserve1","type":"uint112"},{"internalType":"uint32","name":"_blockTimestampLast","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token0","type":"address"},{"internalType":"address","name":"_token1","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"kLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"price0CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price1CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"skim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount0Out","type":"uint256"},{"internalType":"uint256","name":"amount1Out","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sync","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526001600c5534801561001557600080fd5b50604080518082018252601081526f2129a1b9bbb0b8102628102a37b5b2b760811b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fc125d93fd6f6bab15c37edd2f8405ac107cdef11825afbbfdfa809d2b34d7602818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c09091019092528151910120600355600580546001600160a01b031916331790556121ae8061010e6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610adb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610b07565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b31565b604080519115158252519081900360200190f35b610339610b48565b604080516001600160a01b039092168252519081900360200190f35b61035d610b57565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b5d565b61035d610bf1565b6103b5610c15565b6040805160ff9092168252519081900360200190f35b61035d610c1a565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c20565b61035d610ca2565b61035d610ca8565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610cae565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b0316610f88565b61035d610f9a565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316610fa0565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316610fb2565b6040805192835260208301919091528051918290030190f35b610244611344565b61031d600480360360408110156104e857600080fd5b506001600160a01b038135169060200135611363565b61035d611370565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b0316611376565b6103396114e6565b6103396114f5565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611504565b61035d600480360360408110156105a357600080fd5b506001600160a01b0381358116916020013516611704565b61023a611721565b600c5460011461060c576040805162461bcd60e51b815260206004820152600f60248201526e1094d0dcddd85c0e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600c558415158061061f5750600084115b61065a5760405162461bcd60e51b81526004018080602001828103825260238152602001806121566023913960400191505060405180910390fd5b600080610665610b07565b5091509150816001600160701b03168710801561068a5750806001600160701b031686105b6106db576040805162461bcd60e51b815260206004820152601f60248201527f425343737761703a20494e53554646494349454e545f4c495155494449545900604482015290519081900360640190fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107195750806001600160a01b0316896001600160a01b031614155b610760576040805162461bcd60e51b8152602060048201526013602482015272425343737761703a20494e56414c49445f544f60681b604482015290519081900360640190fd5b8a1561077157610771828a8d611881565b891561078257610782818a8c611881565b861561083457886001600160a01b03166375908f7c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561087a57600080fd5b505afa15801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108f057600080fd5b505afa158015610904573d6000803e3d6000fd5b505050506040513d602081101561091a57600080fd5b5051925060009150506001600160701b0385168a9003831161093d57600061094c565b89856001600160701b03160383035b9050600089856001600160701b0316038311610969576000610978565b89856001600160701b03160383035b905060008211806109895750600081115b6109c45760405162461bcd60e51b815260040180806020018281038252602281526020018061210e6022913960400191505060405180910390fd5b60006109e66109d4846003611a1b565b6109e0876103e8611a1b565b90611a7e565b905060006109f86109d4846003611a1b565b9050610a1d620f4240610a176001600160701b038b8116908b16611a1b565b90611a1b565b610a278383611a1b565b1015610a67576040805162461bcd60e51b815260206004820152600a602482015269425343737761703a204b60b01b604482015290519081900360640190fd5b5050610a7584848888611ace565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280601081526020016f2129a1b9bbb0b8102628102a37b5b2b760811b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b3e338484611c8b565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bdc576001600160a01b0384166000908152600260209081526040808320338452909152902054610bb79083611a7e565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610be7848484611ced565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c74576040805162461bcd60e51b81526020600482015260126024820152712129a1b9bbb0b81d102327a92124a22222a760711b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610cf9576040805162461bcd60e51b815260206004820152600f60248201526e1094d0dcddd85c0e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600c81905580610d09610b07565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d5d57600080fd5b505afa158015610d71573d6000803e3d6000fd5b505050506040513d6020811015610d8757600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dda57600080fd5b505afa158015610dee573d6000803e3d6000fd5b505050506040513d6020811015610e0457600080fd5b505190506000610e1d836001600160701b038716611a7e565b90506000610e34836001600160701b038716611a7e565b90506000610e428787611d9b565b60005490915080610e7957610e656103e86109e0610e608787611a1b565b611edb565b9850610e7460006103e8611f2d565b610ebc565b610eb96001600160701b038916610e908684611a1b565b81610e9757fe5b046001600160701b038916610eac8685611a1b565b81610eb357fe5b04611fb7565b98505b60008911610efb5760405162461bcd60e51b81526004018080602001828103825260268152602001806121306026913960400191505060405180910390fd5b610f058a8a611f2d565b610f1186868a8a611ace565b8115610f3b57600854610f37906001600160701b0380821691600160701b900416611a1b565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c54600114610ffe576040805162461bcd60e51b815260206004820152600f60248201526e1094d0dcddd85c0e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600c8190558061100e610b07565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d602081101561109457600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b1580156110e257600080fd5b505afa1580156110f6573d6000803e3d6000fd5b505050506040513d602081101561110c57600080fd5b50513060009081526001602052604081205491925061112b8888611d9b565b6000549091508061113c8487611a1b565b8161114357fe5b049a50806111518486611a1b565b8161115857fe5b04995060008b11801561116b575060008a115b6111a65760405162461bcd60e51b81526004018080602001828103825260268152602001806120e86026913960400191505060405180910390fd5b6111b03084611fcf565b6111bb878d8d611881565b6111c6868d8c611881565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b15801561120c57600080fd5b505afa158015611220573d6000803e3d6000fd5b505050506040513d602081101561123657600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561128257600080fd5b505afa158015611296573d6000803e3d6000fd5b505050506040513d60208110156112ac57600080fd5b505193506112bc85858b8b611ace565b81156112e6576008546112e2906001600160701b0380821691600160701b900416611a1b565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060038152602001620424c560ec1b81525081565b6000610b3e338484611ced565b6103e881565b600c546001146113bf576040805162461bcd60e51b815260206004820152600f60248201526e1094d0dcddd85c0e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b0394851694909316926114689285928792611463926001600160701b03169185916370a0823191602480820192602092909190829003018186803b15801561143157600080fd5b505afa158015611445573d6000803e3d6000fd5b505050506040513d602081101561145b57600080fd5b505190611a7e565b611881565b6114dc81846114636008600e9054906101000a90046001600160701b03166001600160701b0316856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561143157600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b4284101561154c576040805162461bcd60e51b815260206004820152601060248201526f1094d0dcddd85c0e881156141254915160821b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611667573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061169d5750886001600160a01b0316816001600160a01b0316145b6116ee576040805162461bcd60e51b815260206004820152601a60248201527f425343737761703a20494e56414c49445f5349474e4154555245000000000000604482015290519081900360640190fd5b6116f9898989611c8b565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c5460011461176a576040805162461bcd60e51b815260206004820152600f60248201526e1094d0dcddd85c0e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b8152306004820152905161187a926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156117bb57600080fd5b505afa1580156117cf573d6000803e3d6000fd5b505050506040513d60208110156117e557600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561183257600080fd5b505afa158015611846573d6000803e3d6000fd5b505050506040513d602081101561185c57600080fd5b50516008546001600160701b0380821691600160701b900416611ace565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b6020831061192e5780518252601f19909201916020918201910161190f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611990576040519150601f19603f3d011682016040523d82523d6000602084013e611995565b606091505b50915091508180156119c35750805115806119c357508080602001905160208110156119c057600080fd5b50515b611a14576040805162461bcd60e51b815260206004820152601860248201527f425343737761703a205452414e534645525f4641494c45440000000000000000604482015290519081900360640190fd5b5050505050565b6000811580611a3657505080820282828281611a3357fe5b04145b610b42576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b42576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611aec57506001600160701b038311155b611b31576040805162461bcd60e51b8152602060048201526011602482015270425343737761703a204f564552464c4f5760781b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611b6157506001600160701b03841615155b8015611b7557506001600160701b03831615155b15611be0578063ffffffff16611b9d85611b8e86612061565b6001600160e01b031690612073565b600980546001600160e01b03929092169290920201905563ffffffff8116611bc884611b8e87612061565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611d109082611a7e565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611d3f9082612098565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611dec57600080fd5b505afa158015611e00573d6000803e3d6000fd5b505050506040513d6020811015611e1657600080fd5b5051600b546001600160a01b038216158015945091925090611ec7578015611ec2576000611e53610e606001600160701b03888116908816611a1b565b90506000611e6083611edb565b905080821115611ebf576000611e82611e798484611a7e565b60005490611a1b565b90506000611e9b83611e95866005611a1b565b90612098565b90506000818381611ea857fe5b0490508015611ebb57611ebb8782611f2d565b5050505b50505b611ed3565b8015611ed3576000600b555b505092915050565b60006003821115611f1e575080600160028204015b81811015611f1857809150600281828581611f0757fe5b040181611f1057fe5b049050611ef0565b50611f28565b8115611f28575060015b919050565b600054611f3a9082612098565b60009081556001600160a01b038316815260016020526040902054611f5f9082612098565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310611fc65781611fc8565b825b9392505050565b6001600160a01b038216600090815260016020526040902054611ff29082611a7e565b6001600160a01b038316600090815260016020526040812091909155546120199082611a7e565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161209057fe5b049392505050565b80820182811015610b42576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe425343737761703a20494e53554646494349454e545f4c49515549444954595f4255524e4544425343737761703a20494e53554646494349454e545f494e5055545f414d4f554e54425343737761703a20494e53554646494349454e545f4c49515549444954595f4d494e544544425343737761703a20494e53554646494349454e545f4f55545055545f414d4f554e54a2646970667358221220c1e9d060e0599d8a041609a0c8560eb7f782bcd43f06d5d3d17f513d547f217064736f6c634300060c0033

Deployed ByteCode Sourcemap

7787:9739:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15016:1889;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15016:1889:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15016:1889:0;;-1:-1:-1;15016:1889:0;-1:-1:-1;15016:1889:0;:::i;:::-;;4178:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8793:231;;;:::i;:::-;;;;-1:-1:-1;;;;;8793:231:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6230:147;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6230:147:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8084:21;;;:::i;:::-;;;;-1:-1:-1;;;;;8084:21:0;;;;;;;;;;;;;;4319:24;;;:::i;:::-;;;;;;;;;;;;;;;;6532:301;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6532:301:0;;;;;;;;;;;;;;;;;:::i;4611:108::-;;;:::i;4277:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4468:31;;;:::i;9851:208::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9851:208:0;;;;;;;;;;:::i;8435:32::-;;;:::i;8474:::-;;;:::i;12042:1252::-;;;;;;;;;;;;;;;;-1:-1:-1;12042:1252:0;-1:-1:-1;;;;;12042:1252:0;;:::i;4350:41::-;;;;;;;;;;;;;;;;-1:-1:-1;4350:41:0;-1:-1:-1;;;;;4350:41:0;;:::i;8513:17::-;;;:::i;4726:38::-;;;;;;;;;;;;;;;;-1:-1:-1;4726:38:0;-1:-1:-1;;;;;4726:38:0;;:::i;13409:1492::-;;;;;;;;;;;;;;;;-1:-1:-1;13409:1492:0;-1:-1:-1;;;;;13409:1492:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4233:37;;;:::i;6385:139::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6385:139:0;;;;;;;;:::i;7905:46::-;;;:::i;16954:348::-;;;;;;;;;;;;;;;;-1:-1:-1;16954:348:0;-1:-1:-1;;;;;16954:348:0;;:::i;8055:22::-;;;:::i;8112:21::-;;;:::i;6841:670::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6841:670:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4398:61::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4398:61:0;;;;;;;;;;:::i;17351:172::-;;;:::i;15016:1889::-;8686:8;;8698:1;8686:13;8678:41;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;;;;8741:1;8730:8;:12;15130:14;;;;:32:::1;;;15161:1;15148:10;:14;15130:32;15122:80;;;;-1:-1:-1::0;;;15122:80:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15214:17;15233::::0;15255:13:::1;:11;:13::i;:::-;15213:55;;;;;15315:9;-1:-1:-1::0;;;;;15302:22:0::1;:10;:22;:48;;;;;15341:9;-1:-1:-1::0;;;;;15328:22:0::1;:10;:22;15302:48;15294:92;;;::::0;;-1:-1:-1;;;15294:92:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;15531:6;::::0;15566::::1;::::0;15399:13:::1;::::0;;;-1:-1:-1;;;;;15531:6:0;;::::1;::::0;15566;;::::1;::::0;15591:13;::::1;::::0;::::1;::::0;::::1;::::0;:30:::1;;;15614:7;-1:-1:-1::0;;;;;15608:13:0::1;:2;-1:-1:-1::0;;;;;15608:13:0::1;;;15591:30;15583:62;;;::::0;;-1:-1:-1;;;15583:62:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15583:62:0;;;;;;;;;;;;;::::1;;15660:14:::0;;15656:58:::1;;15676:38;15690:7;15699:2;15703:10;15676:13;:38::i;:::-;15763:14:::0;;15759:58:::1;;15779:38;15793:7;15802:2;15806:10;15779:13;:38::i;:::-;15866:15:::0;;15862:93:::1;;15898:2;-1:-1:-1::0;;;;;15883:30:0::1;;15914:10;15926;15938;15950:4;;15883:72;;;;;;;;;;;;;-1:-1:-1::0;;;;;15883:72:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15862:93;15977:47;::::0;;-1:-1:-1;;;15977:47:0;;16018:4:::1;15977:47;::::0;::::1;::::0;;;-1:-1:-1;;;;;15977:32:0;::::1;::::0;::::1;::::0;:47;;;;;::::1;::::0;;;;;;;;:32;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;15977:47:0;16046::::1;::::0;;-1:-1:-1;;;16046:47:0;;16087:4:::1;16046:47;::::0;::::1;::::0;;;15977;;-1:-1:-1;;;;;;16046:32:0;::::1;::::0;::::1;::::0;:47;;;;;15977::::1;::::0;16046;;;;;;;;:32;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;16046:47:0;;-1:-1:-1;16115:14:0::1;::::0;-1:-1:-1;;;;;;;16143:22:0;::::1;::::0;;::::1;16132:33:::0;::::1;:75;;16206:1;16132:75;;;16192:10;16180:9;-1:-1:-1::0;;;;;16180:22:0::1;;16168:8;:35;16132:75;16115:92;;16218:14;16258:10;16246:9;-1:-1:-1::0;;;;;16246:22:0::1;;16235:8;:33;:75;;16309:1;16235:75;;;16295:10;16283:9;-1:-1:-1::0;;;;;16283:22:0::1;;16271:8;:35;16235:75;16218:92;;16341:1;16329:9;:13;:30;;;;16358:1;16346:9;:13;16329:30;16321:77;;;;-1:-1:-1::0;;;16321:77:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16484:21;16508:40;16531:16;:9:::0;16545:1:::1;16531:13;:16::i;:::-;16508:18;:8:::0;16521:4:::1;16508:12;:18::i;:::-;:22:::0;::::1;:40::i;:::-;16484:64:::0;-1:-1:-1;16559:21:0::1;16583:40;16606:16;:9:::0;16620:1:::1;16606:13;:16::i;16583:40::-;16559:64:::0;-1:-1:-1;16684:43:0::1;16719:7;16684:30;-1:-1:-1::0;;;;;16684:15:0;;::::1;::::0;:30;::::1;:19;:30::i;:::-;:34:::0;::::1;:43::i;:::-;16642:38;:16:::0;16663;16642:20:::1;:38::i;:::-;:85;;16634:108;;;::::0;;-1:-1:-1;;;16634:108:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;16634:108:0;;;;;;;;;;;;;::::1;;8753:1;;16766:49;16774:8;16784;16794:9;16805;16766:7;:49::i;:::-;16831:66;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16831:66:0;::::1;::::0;16836:10:::1;::::0;16831:66:::1;::::0;;;;;;;::::1;-1:-1:-1::0;;8776:1:0;8765:8;:12;-1:-1:-1;;;;;;;;;15016:1889:0:o;4178:48::-;;;;;;;;;;;;;;-1:-1:-1;;;4178:48:0;;;;:::o;8793:231::-;8926:8;;-1:-1:-1;;;;;8926:8:0;;;;-1:-1:-1;;;8957:8:0;;;;;;-1:-1:-1;;;8998:18:0;;;;;8793:231::o;6230:147::-;6294:4;6311:36;6320:10;6332:7;6341:5;6311:8;:36::i;:::-;-1:-1:-1;6365:4:0;6230:147;;;;;:::o;8084:21::-;;;-1:-1:-1;;;;;8084:21:0;;:::o;4319:24::-;;;;:::o;6532:301::-;-1:-1:-1;;;;;6631:15:0;;6610:4;6631:15;;;:9;:15;;;;;;;;6647:10;6631:27;;;;;;;;-1:-1:-1;;6631:39:0;6627:140;;-1:-1:-1;;;;;6717:15:0;;;;;;:9;:15;;;;;;;;6733:10;6717:27;;;;;;;;:38;;6749:5;6717:31;:38::i;:::-;-1:-1:-1;;;;;6687:15:0;;;;;;:9;:15;;;;;;;;6703:10;6687:27;;;;;;;:68;6627:140;6777:26;6787:4;6793:2;6797:5;6777:9;:26::i;:::-;-1:-1:-1;6821:4:0;6532:301;;;;;:::o;4611:108::-;4653:66;4611:108;:::o;4277:35::-;4310:2;4277:35;:::o;4468:31::-;;;;:::o;9851:208::-;9947:7;;-1:-1:-1;;;;;9947:7:0;9933:10;:21;9925:52;;;;;-1:-1:-1;;;9925:52:0;;;;;;;;;;;;-1:-1:-1;;;9925:52:0;;;;;;;;;;;;;;;10008:6;:16;;-1:-1:-1;;;;;10008:16:0;;;-1:-1:-1;;;;;;10008:16:0;;;;;;;10035:6;:16;;;;;;;;;;;9851:208::o;8435:32::-;;;;:::o;8474:::-;;;;:::o;12042:1252::-;12091:14;8686:8;;8698:1;8686:13;8678:41;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;;;;8741:1;8730:8;:12;;;8741:1;12160:13:::1;:11;:13::i;:::-;-1:-1:-1::0;12229:6:0::1;::::0;12215:46:::1;::::0;;-1:-1:-1;;;12215:46:0;;12255:4:::1;12215:46;::::0;::::1;::::0;;;12118:55;;-1:-1:-1;12118:55:0;;-1:-1:-1;12199:13:0::1;::::0;-1:-1:-1;;;;;12229:6:0;;::::1;::::0;12215:31:::1;::::0;:46;;;;;::::1;::::0;;;;;;;;12229:6;12215:46;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12215:46:0;12302:6:::1;::::0;12288:46:::1;::::0;;-1:-1:-1;;;12288:46:0;;12328:4:::1;12288:46;::::0;::::1;::::0;;;12215;;-1:-1:-1;12272:13:0::1;::::0;-1:-1:-1;;;;;12302:6:0;;::::1;::::0;12288:31:::1;::::0;:46;;;;;12215::::1;::::0;12288;;;;;;;;12302:6;12288:46;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12288:46:0;;-1:-1:-1;12345:12:0::1;12360:23;:8:::0;-1:-1:-1;;;;;12360:23:0;::::1;:12;:23::i;:::-;12345:38:::0;-1:-1:-1;12394:12:0::1;12409:23;:8:::0;-1:-1:-1;;;;;12409:23:0;::::1;:12;:23::i;:::-;12394:38;;12445:10;12458:30;12467:9;12478;12458:8;:30::i;:::-;12499:17;12519:11:::0;12445:43;;-1:-1:-1;12623:17:0;12619:352:::1;;12669:54;7946:5;12669:31;12679:20;:7:::0;12691;12679:11:::1;:20::i;:::-;12669:9;:31::i;:54::-;12657:66;;12737:36;12751:1;7946:5;12737;:36::i;:::-;12619:352;;;12873:86;-1:-1:-1::0;;;;;12882:37:0;::::1;:25;:7:::0;12894:12;12882:11:::1;:25::i;:::-;:37;;;;;;-1:-1:-1::0;;;;;12921:37:0;::::1;:25;:7:::0;12933:12;12921:11:::1;:25::i;:::-;:37;;;;;;12873:8;:86::i;:::-;12861:98;;12619:352;13001:1;12989:9;:13;12981:64;;;;-1:-1:-1::0;;;12981:64:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13056:20;13062:2;13066:9;13056:5;:20::i;:::-;13089:49;13097:8;13107;13117:9;13128;13089:7;:49::i;:::-;13153:5;13149:47;;;13187:8;::::0;13168:28:::1;::::0;-1:-1:-1;;;;;13173:8:0;;::::1;::::0;-1:-1:-1;;;13187:8:0;::::1;;13168:18;:28::i;:::-;13160:5;:36:::0;13149:47:::1;13252:34;::::0;;;;;::::1;::::0;::::1;::::0;;;;;13257:10:::1;::::0;13252:34:::1;::::0;;;;;;::::1;-1:-1:-1::0;;8776:1:0;8765:8;:12;-1:-1:-1;12042:1252:0;;;-1:-1:-1;;;;;;12042:1252:0:o;4350:41::-;;;;;;;;;;;;;:::o;8513:17::-;;;;:::o;4726:38::-;;;;;;;;;;;;;:::o;13409:1492::-;13458:12;13472;8686:8;;8698:1;8686:13;8678:41;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;;;;8741:1;8730:8;:12;;;8741:1;13539:13:::1;:11;:13::i;:::-;-1:-1:-1::0;13596:6:0::1;::::0;13677::::1;::::0;13756:47:::1;::::0;;-1:-1:-1;;;13756:47:0;;13797:4:::1;13756:47;::::0;::::1;::::0;;;13497:55;;-1:-1:-1;13497:55:0;;-1:-1:-1;;;;;;13596:6:0;;::::1;::::0;13677;::::1;::::0;13578:15:::1;::::0;13596:6;;13756:32:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;13596:6;13756:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;13756:47:0;13830::::1;::::0;;-1:-1:-1;;;13830:47:0;;13871:4:::1;13830:47;::::0;::::1;::::0;;;13756;;-1:-1:-1;13814:13:0::1;::::0;-1:-1:-1;;;;;13830:32:0;::::1;::::0;::::1;::::0;:47;;;;;13756::::1;::::0;13830;;;;;;;:32;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;13830:47:0;13923:4:::1;13888:14;13905:24:::0;;;:9:::1;13830:47;13905:24:::0;;;;;13830:47;;-1:-1:-1;13955:30:0::1;13964:9:::0;13975;13955:8:::1;:30::i;:::-;13996:17;14016:11:::0;13942:43;;-1:-1:-1;14016:11:0;14126:23:::1;:9:::0;14140:8;14126:13:::1;:23::i;:::-;:38;;;;;;::::0;-1:-1:-1;14259:12:0;14233:23:::1;:9:::0;14247:8;14233:13:::1;:23::i;:::-;:38;;;;;;14223:48;;14348:1;14338:7;:11;:26;;;;;14363:1;14353:7;:11;14338:26;14330:77;;;;-1:-1:-1::0;;;14330:77:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14418:31;14432:4;14439:9;14418:5;:31::i;:::-;14460:35;14474:7;14483:2;14487:7;14460:13;:35::i;:::-;14506;14520:7;14529:2;14533:7;14506:13;:35::i;:::-;14563:47;::::0;;-1:-1:-1;;;14563:47:0;;14604:4:::1;14563:47;::::0;::::1;::::0;;;-1:-1:-1;;;;;14563:32:0;::::1;::::0;::::1;::::0;:47;;;;;::::1;::::0;;;;;;;;:32;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14563:47:0;14632::::1;::::0;;-1:-1:-1;;;14632:47:0;;14673:4:::1;14632:47;::::0;::::1;::::0;;;14563;;-1:-1:-1;;;;;;14632:32:0;::::1;::::0;::::1;::::0;:47;;;;;14563::::1;::::0;14632;;;;;;;;:32;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14632:47:0;;-1:-1:-1;14692:49:0::1;14700:8:::0;14632:47;14720:9;14731;14692:7:::1;:49::i;:::-;14756:5;14752:47;;;14790:8;::::0;14771:28:::1;::::0;-1:-1:-1;;;;;14776:8:0;;::::1;::::0;-1:-1:-1;;;14790:8:0;::::1;;14771:18;:28::i;:::-;14763:5;:36:::0;14752:47:::1;14855:38;::::0;;;;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;;;;;14855:38:0;::::1;::::0;14860:10:::1;::::0;14855:38:::1;::::0;;;;;;;;;::::1;8753:1;;;;;;;;;8776::::0;8765:8;:12;;;;13409:1492;;;:::o;4233:37::-;;;;;;;;;;;;;;-1:-1:-1;;;4233:37:0;;;;:::o;6385:139::-;6445:4;6462:32;6472:10;6484:2;6488:5;6462:9;:32::i;7905:46::-;7946:5;7905:46;:::o;16954:348::-;8686:8;;8698:1;8686:13;8678:41;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;;;;8741:1;8730:8;:12;17023:6:::1;::::0;17073::::1;::::0;17184:8:::1;::::0;17132:47:::1;::::0;;-1:-1:-1;;;17132:47:0;;17173:4:::1;17132:47;::::0;::::1;::::0;;;-1:-1:-1;;;;;17023:6:0;;::::1;::::0;17073;;::::1;::::0;17105:89:::1;::::0;17023:6;;17128:2;;17132:61:::1;::::0;-1:-1:-1;;;;;17184:8:0::1;::::0;17023:6;;17132:32:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;17023:6;17132:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17132:47:0;;:51:::1;:61::i;:::-;17105:13;:89::i;:::-;17205;17219:7;17228:2;17232:61;17284:8;;;;;;;;;-1:-1:-1::0;;;;;17284:8:0::1;-1:-1:-1::0;;;;;17232:61:0::1;17246:7;-1:-1:-1::0;;;;;17232:32:0::1;;17273:4;17232:47;;;;;;;;;;;;;-1:-1:-1::0;;;;;17232:47:0::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;17205:89;-1:-1:-1::0;;8776:1:0;8765:8;:12;-1:-1:-1;16954:348:0:o;8055:22::-;;;-1:-1:-1;;;;;8055:22:0;;:::o;8112:21::-;;;-1:-1:-1;;;;;8112:21:0;;:::o;6841:670::-;6987:15;6975:8;:27;;6967:56;;;;;-1:-1:-1;;;6967:56:0;;;;;;;;;;;;-1:-1:-1;;;6967:56:0;;;;;;;;;;;;;;;7139:16;;-1:-1:-1;;;;;7235:13:0;;;7034:14;7235:13;;;:6;:13;;;;;;;;:15;;;;;;;;;7184:77;;4653:66;7184:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7174:88;;;;;;-1:-1:-1;;;7075:202:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7051:237;;;;;;;;;7326:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7034:14;;7235:15;7326:26;;;;;-1:-1:-1;;7326:26:0;;;;;;;;;;7235:15;7326:26;;;;;;;;;;;;;;;-1:-1:-1;;7326:26:0;;-1:-1:-1;;7326:26:0;;;-1:-1:-1;;;;;;;7371:30:0;;;;;;:59;;;7425:5;-1:-1:-1;;;;;7405:25:0;:16;-1:-1:-1;;;;;7405:25:0;;7371:59;7363:98;;;;;-1:-1:-1;;;7363:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7472:31;7481:5;7488:7;7497:5;7472:8;:31::i;:::-;6841:670;;;;;;;;;:::o;4398:61::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;17351:172::-;8686:8;;8698:1;8686:13;8678:41;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;;;;8741:1;8730:8;:12;17414:6:::1;::::0;17400:46:::1;::::0;;-1:-1:-1;;;17400:46:0;;17440:4:::1;17400:46;::::0;::::1;::::0;;;17392:123:::1;::::0;-1:-1:-1;;;;;17414:6:0::1;::::0;17400:31:::1;::::0;:46;;;;;::::1;::::0;;;;;;;;17414:6;17400:46;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17400:46:0;17462:6:::1;::::0;17448:46:::1;::::0;;-1:-1:-1;;;17448:46:0;;17488:4:::1;17448:46;::::0;::::1;::::0;;;-1:-1:-1;;;;;17462:6:0;;::::1;::::0;17448:31:::1;::::0;:46;;;;;17400::::1;::::0;17448;;;;;;;;17462:6;17448:46;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17448:46:0;17496:8:::1;::::0;-1:-1:-1;;;;;17496:8:0;;::::1;::::0;-1:-1:-1;;;17506:8:0;::::1;;17392:7;:123::i;:::-;8776:1:::0;8765:8;:12;17351:172::o;9032:285::-;8010:34;;;;;;;;;;;;;;;;;9160:43;;-1:-1:-1;;;;;9160:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9160:43:0;-1:-1:-1;;;9160:43:0;;;9149:55;;;;9114:12;;9128:17;;9149:10;;;9160:43;9149:55;;;9160:43;9149:55;;9160:43;9149:55;;;;;;;;;;-1:-1:-1;;9149:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9113:91;;;;9223:7;:57;;;;-1:-1:-1;9235:11:0;;:16;;:44;;;9266:4;9255:24;;;;;;;;;;;;;;;-1:-1:-1;9255:24:0;9235:44;9215:94;;;;;-1:-1:-1;;;9215:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9032:285;;;;;:::o;617:142::-;669:6;696;;;:30;;-1:-1:-1;;711:5:0;;;725:1;720;711:5;720:1;706:15;;;;;:20;696:30;688:63;;;;;-1:-1:-1;;;688:63:0;;;;;;;;;;;;-1:-1:-1;;;688:63:0;;;;;;;;;;;;;;480:129;564:5;;;559:16;;;;551:50;;;;;-1:-1:-1;;;551:50:0;;;;;;;;;;;;-1:-1:-1;;;551:50:0;;;;;;;;;;;;;;10144:858;-1:-1:-1;;;;;10256:23:0;;;;;:50;;-1:-1:-1;;;;;;10283:23:0;;;10256:50;10248:80;;;;;-1:-1:-1;;;10248:80:0;;;;;;;;;;;;-1:-1:-1;;;10248:80:0;;;;;;;;;;;;;;;10443:18;;10370:23;:15;:23;;;-1:-1:-1;;;10443:18:0;;;;10426:35;;;10499:15;;;;;;:33;;-1:-1:-1;;;;;;10518:14:0;;;;10499:33;:51;;;;-1:-1:-1;;;;;;10536:14:0;;;;10499:51;10495:336;;;10705:11;10652:64;;10657:44;10691:9;10657:27;10674:9;10657:16;:27::i;:::-;-1:-1:-1;;;;;10657:33:0;;;:44::i;:::-;10628:20;:88;;-1:-1:-1;;;;;10652:50:0;;;;:64;;;;10628:88;;;10755:64;;;10760:44;10794:9;10760:27;10777:9;10760:16;:27::i;:44::-;10731:20;:88;;-1:-1:-1;;;;;10755:50:0;;;;:64;;;;10731:88;;;10495:336;10841:8;:28;;-1:-1:-1;;10841:28:0;-1:-1:-1;;;;;10841:28:0;;;;;;;-1:-1:-1;;;;10880:28:0;-1:-1:-1;;;10880:28:0;;;;;;;;;-1:-1:-1;;;;;10919:35:0;-1:-1:-1;;;10919:35:0;;;;;;;;;10970:24;;;10975:8;;;10970:24;;10985:8;;;;;;;10970:24;;;;;;;;;;;;;;;;;10144:858;;;;;;:::o;5825:169::-;-1:-1:-1;;;;;5906:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;5955:31;;;;;;;;;;;;;;;;;5825:169;;;:::o;6002:220::-;-1:-1:-1;;;;;6096:15:0;;;;;;:9;:15;;;;;;:26;;6116:5;6096:19;:26::i;:::-;-1:-1:-1;;;;;6078:15:0;;;;;;;:9;:15;;;;;;:44;;;;6149:13;;;;;;;:24;;6167:5;6149:17;:24::i;:::-;-1:-1:-1;;;;;6133:13:0;;;;;;;:9;:13;;;;;;;;;:40;;;;6189:25;;;;;;;6133:13;;6189:25;;;;;;;;;;;;;6002:220;;;:::o;11092:835::-;11165:10;11188:13;11220:7;;;;;;;;;-1:-1:-1;;;;;11220:7:0;-1:-1:-1;;;;;11204:30:0;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11204:32:0;11299:5;;-1:-1:-1;;;;;11255:19:0;;;;;;-1:-1:-1;11204:32:0;;-1:-1:-1;11299:5:0;11330:590;;11360:11;;11356:494;;11392:10;11405:41;11415:30;-1:-1:-1;;;;;11415:15:0;;;;:30;;:19;:30::i;11405:41::-;11392:54;;11465:14;11482:17;11492:6;11482:9;:17::i;:::-;11465:34;;11530:9;11522:5;:17;11518:317;;;11564:14;11581:37;11597:20;:5;11607:9;11597;:20::i;:::-;11581:11;;;:15;:37::i;:::-;11564:54;-1:-1:-1;11641:16:0;11660:27;11677:9;11660:12;:5;11670:1;11660:9;:12::i;:::-;:16;;:27::i;:::-;11641:46;;11710:14;11739:11;11727:9;:23;;;;;;;-1:-1:-1;11777:13:0;;11773:42;;11792:23;11798:5;11805:9;11792:5;:23::i;:::-;11518:317;;;;11356:494;;;11330:590;;;11871:11;;11867:53;;11907:1;11899:5;:9;11867:53;11092:835;;;;;;:::o;3678:303::-;3723:6;3750:1;3746;:5;3742:232;;;-1:-1:-1;3772:1:0;3805;3801;3797:5;;:9;3821:92;3832:1;3828;:5;3821:92;;;3858:1;3854:5;;3896:1;3891;3887;3883;:5;;;;;;:9;3882:15;;;;;;3878:19;;3821:92;;;3742:232;;;;3934:6;;3930:44;;-1:-1:-1;3961:1:0;3930:44;3678:303;;;:::o;5399:201::-;5472:11;;:22;;5488:5;5472:15;:22::i;:::-;5458:11;:36;;;-1:-1:-1;;;;;5521:13:0;;;;:9;:13;;;;;;:24;;5539:5;5521:17;:24::i;:::-;-1:-1:-1;;;;;5505:13:0;;;;;;:9;:13;;;;;;;;:40;;;;5561:31;;;;;;;5505:13;;;;5561:31;;;;;;;;;;5399:201;;:::o;3464:96::-;3516:6;3543:1;3539;:5;:13;;3551:1;3539:13;;;3547:1;3539:13;3535:17;3464:96;-1:-1:-1;;;3464:96:0:o;5608:209::-;-1:-1:-1;;;;;5687:15:0;;;;;;:9;:15;;;;;;:26;;5707:5;5687:19;:26::i;:::-;-1:-1:-1;;;;;5669:15:0;;;;;;:9;:15;;;;;:44;;;;5738:11;:22;;5754:5;5738:15;:22::i;:::-;5724:11;:36;;;5776:33;;;;;;;;-1:-1:-1;;;;;5776:33:0;;;;;;;;;;;;;5608:209;;:::o;3000:120::-;-1:-1:-1;;;;;3076:10:0;-1:-1:-1;;;3076:17:0;;3000:120::o;3191:108::-;3251:9;-1:-1:-1;;;;;3281:10:0;;-1:-1:-1;;;;;3277:14:0;;3281:10;3277:14;;;;;;3191:108;-1:-1:-1;;;3191:108:0:o;344:128::-;428:5;;;423:16;;;;415:49;;;;;-1:-1:-1;;;415:49:0;;;;;;;;;;;;-1:-1:-1;;;415:49:0;;;;;;;;;;;;;

Swarm Source

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