Contract 0x179960442Ece8dE9f390011b7f7c9b56C74e4D0a 1

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x1beba6cfd347994e0ae321621f33a33d0b4d8a23030a43e56871ee902988b7adApprove132967762021-12-08 13:03:1636 mins ago0x0bb602caf45305e7941d2e9b95e624af02a543df IN  Xeta Reality: XETA Token0 BNB0.00022274
0x132de19be34c489d8125fc9ad51fb921eb402b2a0d2e55ebab605eb2a63611f1Transfer132966652021-12-08 12:57:4341 mins ago0x1c714a5caf383c778448e889db4f5b51c09351c7 IN  Xeta Reality: XETA Token0 BNB0.000169425
0xc0a601a0cc7c67b52118d8620817166fdd88076547368d55e12799b78a09776fApprove132964932021-12-08 12:48:3750 mins ago0x1c714a5caf383c778448e889db4f5b51c09351c7 IN  Xeta Reality: XETA Token0 BNB0.00022274
0x2fe88773b2aa8d6d47d116295bc4e46d9c21668f03077f77e2f1d70c2ba25c49Transfer132956442021-12-08 11:58:511 hr 40 mins ago0x1c714a5caf383c778448e889db4f5b51c09351c7 IN  Xeta Reality: XETA Token0 BNB0.000169365
0xfa8db826cafb4262bc1d51074f0f0f90d63ec055d99749ed75a537d17c289c06Transfer132956232021-12-08 11:57:321 hr 41 mins ago0x1c714a5caf383c778448e889db4f5b51c09351c7 IN  Xeta Reality: XETA Token0 BNB0.000169425
0x131ef19ee0cad26acebb3800ed51c31d88a6ca9c6c27c228a05db2814a755a08Transfer132955292021-12-08 11:51:221 hr 48 mins ago0x1c714a5caf383c778448e889db4f5b51c09351c7 IN  Xeta Reality: XETA Token0 BNB0.000169425
0x80d0c689589390ed9e62f7f1e04ad4126e355a7f1f3ae5caabff8e70c901943aTransfer132954482021-12-08 11:45:591 hr 53 mins ago0xc2154254ca7672db24f10a274f3c92eb4322c869 IN  Xeta Reality: XETA Token0 BNB0.000274085
0xa1a43a093fef6632c96b719764c91a390312d00caceb86af4f9c09c91ea575f2Transfer132954402021-12-08 11:45:311 hr 53 mins ago0x74de290253738c56288e5978116f37df1650b0ab IN  Xeta Reality: XETA Token0 BNB0.000169425
0x6d280010528b7c91e1abe336d2acf79bc65ea90a6bde8f406031fb111a1797d6Approve132954002021-12-08 11:43:091 hr 56 mins ago0xcaf0b0992ab2bdcfee31c5561d2b73226b1a77f5 IN  Xeta Reality: XETA Token0 BNB0.00022274
0x58a6dd6a8380ca6734428ca6c740bd718c73f3b73e772398fec17be71c134aa2Transfer132952202021-12-08 11:30:562 hrs 8 mins ago0x74de290253738c56288e5978116f37df1650b0ab IN  Xeta Reality: XETA Token0 BNB0.000169545
0x5bc8e5c2a114d66349186b422df8d7da6e5cf0c70e630a94cf06f2386f22c4ccApprove132951892021-12-08 11:28:282 hrs 10 mins ago0x746b8814656a2d2176d7a81e2e8a672a7fa761b2 IN  Xeta Reality: XETA Token0 BNB0.000267288
0x15ba0140e8168e956b127b123decd4edaa5a23aefb7ccd46dc29e45127605f7aTransfer132950822021-12-08 11:20:222 hrs 19 mins ago0x1c714a5caf383c778448e889db4f5b51c09351c7 IN  Xeta Reality: XETA Token0 BNB0.000169425
0xa5a74a893110a4c6ea5bf9396392f3c7fd521f2ed0b607d75513bfb50213b8dcApprove132950252021-12-08 11:16:152 hrs 23 mins ago0xd0b81b0a660516ee2801a3e7f76494126017793d IN  Xeta Reality: XETA Token0 BNB0.000267288
0xfac632915081d7d2091ddc371922126c5e65cb8f7c103654a60482593db8e9a8Transfer132948822021-12-08 11:05:402 hrs 33 mins ago0x74de290253738c56288e5978116f37df1650b0ab IN  Xeta Reality: XETA Token0 BNB0.000169425
0x164d02c78c08b2e35f45b997a2f56b9d288693e7e53e6cf6b1cfee944cf5128bApprove132941922021-12-08 10:07:473 hrs 31 mins ago0x7f825adfaf323960aed5a5b694675af4547495fe IN  Xeta Reality: XETA Token0 BNB0.00022274
0x3976d34416a444ee7a6ae0d89e303d1a7c527ebfa3e6c85b43bfa953cabe88abApprove132938062021-12-08 9:39:224 hrs ago0x35519082f32696d9fe7734e0c38b696dbf53dcdb IN  Xeta Reality: XETA Token0 BNB0.00022274
0x705037657497797085f33d25fa65a129ed3765a3fb575d416cb2f755ee682e1dTransfer132931642021-12-08 8:47:184 hrs 52 mins ago0xf0759b3b09cb64c5835759caecc991abce30ebbd IN  Xeta Reality: XETA Token0 BNB0.000348965
0x292e32dcfa14e54f6d88ae18822eb0091326ac273f929e712dfd34890bb32986Approve132930512021-12-08 8:38:095 hrs 1 min ago0xb8f639c9eb608ca344169d96ebbde90ab1958f7d IN  Xeta Reality: XETA Token0 BNB0.000267288
0x4d6feb36c8c8b8585f1d6eaae468d607b1eef56ba166b2cbb546d744d876f6c9Transfer132930232021-12-08 8:35:405 hrs 3 mins ago0x5b423e5fb5798f1452d58f075ace6952ee35fcce IN  Xeta Reality: XETA Token0 BNB0.000274085
0x29b5b7b311e78354f3669d85c741affa30ef824d4f84361bda675e5ab47576daTransfer132928482021-12-08 8:22:555 hrs 16 mins ago0x043723bc270eb8d3e3224c140cd70eef61152475 IN  Xeta Reality: XETA Token0 BNB0.000169425
0xd04abd25719cbce82de4163416b5e9c58bd09521c93a3b59abe336bda844d542Transfer132928062021-12-08 8:19:505 hrs 19 mins ago0x043723bc270eb8d3e3224c140cd70eef61152475 IN  Xeta Reality: XETA Token0 BNB0.000169365
0x77b7b088a682075a57953e162682420d843fa03cd3d0f51502fec15082dddd18Transfer132926732021-12-08 8:10:025 hrs 29 mins ago0x043723bc270eb8d3e3224c140cd70eef61152475 IN  Xeta Reality: XETA Token0 BNB0.000169425
0x07b64a9564c5d949fe8031f850577f27efef5f0315993114bc34e247e4d83ddeApprove132925392021-12-08 8:00:115 hrs 39 mins ago0x9bd8f8766ac47bd7dc34a7cd448cfb16f29e2068 IN  Xeta Reality: XETA Token0 BNB0.00012674
0x6a325c63659a2e1bbd568ff8f859860f8ec0c53b1892dd52d6ce09223255b5e2Approve132925312021-12-08 7:59:335 hrs 39 mins ago0x9bd8f8766ac47bd7dc34a7cd448cfb16f29e2068 IN  Xeta Reality: XETA Token0 BNB0.00022274
0x3ea103a410a15bdd4d450031b994c6db7ff1b57cdd625c57334315123886dcc0Transfer132921402021-12-08 7:28:506 hrs 10 mins ago0xb8f62f5c644e2344f602daf3a655a20bc1de57ae IN  Xeta Reality: XETA Token0 BNB0.000354285
[ Download CSV Export 

OVERVIEW

Xeta is a Serverless Layer-1 Blockchain Ecosystem for Metaverse, Gaming, and NFT Applications.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xeb9c83607d74f9b8d6793d6bb02eee14c55910ce81e2da18d09986dcb0147df9129818102021-11-26 23:03:5811 days 14 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token0.898654676774266986 BNB
0xeb9c83607d74f9b8d6793d6bb02eee14c55910ce81e2da18d09986dcb0147df9129818102021-11-26 23:03:5811 days 14 hrs ago Xeta Reality: XETA Token PancakeSwap: Router v238.65089844606203124 BNB
0xeb9c83607d74f9b8d6793d6bb02eee14c55910ce81e2da18d09986dcb0147df9129818102021-11-26 23:03:5811 days 14 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token38.65089844606203124 BNB
0xe5f390384f2fc1bd86f0cfea26ce36cea2a3c8b5bf3f3ed5d61e86b013c3dbd1128422252021-11-21 19:40:1916 days 17 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token0.61785686679217152 BNB
0xe5f390384f2fc1bd86f0cfea26ce36cea2a3c8b5bf3f3ed5d61e86b013c3dbd1128422252021-11-21 19:40:1916 days 17 hrs ago Xeta Reality: XETA Token PancakeSwap: Router v229.848848670264341554 BNB
0xe5f390384f2fc1bd86f0cfea26ce36cea2a3c8b5bf3f3ed5d61e86b013c3dbd1128422252021-11-21 19:40:1916 days 17 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token29.848848670264341554 BNB
0xd82d79f922ef59eaeadad37863011d64092c93e5b8d9be2439b90f171c0f9620127033722021-11-16 18:45:2521 days 18 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token0.465380798006820965 BNB
0xd82d79f922ef59eaeadad37863011d64092c93e5b8d9be2439b90f171c0f9620127033722021-11-16 18:45:2521 days 18 hrs ago Xeta Reality: XETA Token PancakeSwap: Router v224.498981170097325317 BNB
0xd82d79f922ef59eaeadad37863011d64092c93e5b8d9be2439b90f171c0f9620127033722021-11-16 18:45:2521 days 18 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token24.498981170097325317 BNB
0x2b31317896fcb94d552f89bd519399a577b947cf34bcf1d51a9889a7f40004f7125001472021-11-09 10:35:3129 days 3 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token0.575727425935822564 BNB
0x2b31317896fcb94d552f89bd519399a577b947cf34bcf1d51a9889a7f40004f7125001472021-11-09 10:35:3129 days 3 hrs ago Xeta Reality: XETA Token PancakeSwap: Router v227.619487407317111688 BNB
0x2b31317896fcb94d552f89bd519399a577b947cf34bcf1d51a9889a7f40004f7125001472021-11-09 10:35:3129 days 3 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token27.619487407317111688 BNB
0xc14216cac0c7f504908bba56bf4ad8a96c8ceaf83b88204678835f111a70c64b123764672021-11-05 2:36:5933 days 11 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token0.398721870871742769 BNB
0xc14216cac0c7f504908bba56bf4ad8a96c8ceaf83b88204678835f111a70c64b123764672021-11-05 2:36:5933 days 11 hrs ago Xeta Reality: XETA Token PancakeSwap: Router v221.494048085726486623 BNB
0xc14216cac0c7f504908bba56bf4ad8a96c8ceaf83b88204678835f111a70c64b123764672021-11-05 2:36:5933 days 11 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token21.494048085726486623 BNB
0xd1c1cf1c2f79bbe57dbb1d5bc471820cb879dd942329833a62f26de0e580e38c122817252021-11-01 16:54:1636 days 20 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token0.41352666019418725 BNB
0xd1c1cf1c2f79bbe57dbb1d5bc471820cb879dd942329833a62f26de0e580e38c122817252021-11-01 16:54:1636 days 20 hrs ago Xeta Reality: XETA Token PancakeSwap: Router v221.657993000916550555 BNB
0xd1c1cf1c2f79bbe57dbb1d5bc471820cb879dd942329833a62f26de0e580e38c122817252021-11-01 16:54:1636 days 20 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token21.657993000916550555 BNB
0xc08bba1ef531ab0afdcd3343a50d63410d2207f64ad788138746751428113fda122426622021-10-31 7:38:1038 days 6 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token0.196636702849866255 BNB
0xc08bba1ef531ab0afdcd3343a50d63410d2207f64ad788138746751428113fda122426622021-10-31 7:38:1038 days 6 hrs ago Xeta Reality: XETA Token PancakeSwap: Router v213.313599420397418916 BNB
0xc08bba1ef531ab0afdcd3343a50d63410d2207f64ad788138746751428113fda122426622021-10-31 7:38:1038 days 6 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token13.313599420397418916 BNB
0x0eb7e58d79530950b19ae1451a20ef3c9a89e85440684898a061ad957094660a120658342021-10-25 2:03:2944 days 11 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token0.166598024594461079 BNB
0x0eb7e58d79530950b19ae1451a20ef3c9a89e85440684898a061ad957094660a120658342021-10-25 2:03:2944 days 11 hrs ago Xeta Reality: XETA Token PancakeSwap: Router v211.840784316066508036 BNB
0x0eb7e58d79530950b19ae1451a20ef3c9a89e85440684898a061ad957094660a120658342021-10-25 2:03:2944 days 11 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token11.840784316066508036 BNB
0x16f2f1b63ab123f082ffeb732167bd50be450481444c88b53e684aec0323b616119025732021-10-19 7:39:0650 days 6 hrs ago PancakeSwap: Router v2 Xeta Reality: XETA Token0.184989806784863145 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
XetaReality

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
 *
 * Xeta Reality (XETA)
 * https://xetareality.com
 * 
 */

pragma solidity ^0.6.12;
// SPDX-License-Identifier: Unlicensed

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 SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        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");
        (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);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () internal {
        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);
    }
}

interface IUniswapV2Factory {
    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;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure 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);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    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);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract XetaReality is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _whitelisted;
    address[] private _excluded;
    uint256 private _supply = 10000 * 10**6 * 10**9;
    string private _name = "Xeta Reality";
    string private _symbol = "XETA";
    uint8 private _decimals = 9;
    uint256 public _liquidityFee = 4;
    uint256 public _burnFee = 4;
    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    uint256 public _baseAmount = 1 * 10**9;
    uint256 public _maxTxAmount = 5 * 10**6 * 10**9;
    uint256 public _liquifyAmount = 5 * 10**6 * 10**9;
    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    ); 
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    } 
    constructor () public {
        _balances[_msgSender()] = _supply;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _whitelisted[owner()] = true;
        _whitelisted[address(this)] = true;
        emit Transfer(address(0), _msgSender(), _supply);
    }
    receive() external payable {}
    function name() public view returns (string memory) {
        return _name;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    function decimals() public view returns (uint8) {
        return _decimals;
    }
    function totalSupply() public view override returns (uint256) {
        return _supply;
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function balanceOf(address account) public view override returns (uint256) {
        if (_balances[account] != 0) return _balances[account];
        return _baseAmount;
    }
    function distribute(address[] memory recipients, uint256 amount) external onlyOwner() {
        address sender = _msgSender();
        for (uint256 i = 0; i < recipients.length; i++) {
            _balances[sender] = _balances[sender].sub(amount);
            _balances[recipients[i]] = _balances[recipients[i]].add(amount);
            emit Transfer(sender, recipients[i], amount);
        }
    }
    function clearETH() external onlyOwner() {
        address payable sender = _msgSender();
        sender.transfer(address(this).balance);
    }
    function register(address[] memory recipients) external onlyOwner() { 
        for (uint256 i = 0; i < recipients.length; i++) {
            emit Transfer(address(this), recipients[i], _baseAmount);
        }
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
    function whitelist(address account) external onlyOwner() {
        _whitelisted[account] = true;
    }
    function unwhitelist(address account) external onlyOwner() {
        _whitelisted[account] = false;
    }
    function setLiquidityFee(uint256 fee) external onlyOwner() {
        _liquidityFee = fee;
    }
    function setBurnFee(uint256 fee) external onlyOwner() {
        _burnFee = fee;
    }
    function setLiquifyAmount(uint256 amount) external onlyOwner() {
        _liquifyAmount = amount;
    }
    function setMaxTxAmount(uint256 amount) external onlyOwner() {
        _maxTxAmount = amount;
    }
    function setSupply(uint256 amount) external onlyOwner() {
        _supply = amount;
    }
    function setBaseAmount(uint256 amount) external onlyOwner() {
        _baseAmount = amount;
    }
    function setSwapAndLiquifyEnabled(bool enabled) external onlyOwner {
        swapAndLiquifyEnabled = enabled;
        emit SwapAndLiquifyEnabledUpdated(enabled);
    }
    function _getTValues(uint256 tAmount, bool takeFee) private view returns (uint256, uint256, uint256) {
        uint256 tLiquidity = tAmount.mul(_liquidityFee).div(10**2);
        uint256 tBurn = tAmount.mul(_burnFee).div(10**2);
        if (!takeFee) {
            tLiquidity = 0;
            tBurn = 0;
        }

        uint256 tTransferAmount = tAmount.sub(tLiquidity).sub(tBurn);
        return (tTransferAmount, tLiquidity, tBurn);
    }
    function _creditLiquidity(uint256 tLiquidity) private {
        _balances[address(this)] = _balances[address(this)].add(tLiquidity);
    }
    function _creditBurn(uint256 tBurn) private {
        _balances[address(0x000000000000000000000000000000000000dEaD)] = _balances[address(0x000000000000000000000000000000000000dEaD)].add(tBurn);
    }
    function isWhitelisted(address account) public view returns(bool) {
        return _whitelisted[account];
    }
    function _approve(address owner, address spender, uint256 amount) private {
        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);
    }
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(from != owner() && to != owner()) require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
        uint256 contractTokenBalance = balanceOf(address(this));

        bool overMinTokenBalance = contractTokenBalance >= _liquifyAmount;
        if (
            overMinTokenBalance &&
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled
        ) {
            contractTokenBalance = _liquifyAmount;
            swapAndLiquify(contractTokenBalance);
        }
        
        bool takeFee = true;
        if(_whitelisted[from] || _whitelisted[to]) takeFee = false;
        _tokenTransfer(from,to,amount,takeFee);
    }
    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        uint256 half = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);
        uint256 initialBalance = address(this).balance;
        swapTokensForEth(half);
        uint256 newBalance = address(this).balance.sub(initialBalance);
        addLiquidity(otherHalf, newBalance);
        emit SwapAndLiquify(half, newBalance, otherHalf);
    }
    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
    }
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        _transferStandard(sender, recipient, amount, takeFee);
    }
    function _transferStandard(address sender, address recipient, uint256 tAmount, bool takeFee) private {
        (uint256 tTransferAmount, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount, takeFee);
        _balances[sender] = _balances[sender].sub(tAmount);
        _balances[recipient] = _balances[recipient].add(tTransferAmount);
        _creditLiquidity(tLiquidity);
        _creditBurn(tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }
}

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":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"_baseAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquifyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","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":[],"name":"clearETH","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":"recipients","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address[]","name":"recipients","type":"address[]"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setBaseAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setLiquidityFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setLiquifyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unwhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052678ac7230489e800006005556040518060400160405280600c81526020017f58657461205265616c6974790000000000000000000000000000000000000000815250600690805190602001906200005d929190620005dd565b506040518060400160405280600481526020017f584554410000000000000000000000000000000000000000000000000000000081525060079080519060200190620000ab929190620005dd565b506009600860006101000a81548160ff021916908360ff16021790555060046009556004600a556001600b60016101000a81548160ff021916908315150217905550633b9aca00600c556611c37937e08000600d556611c37937e08000600e553480156200011857600080fd5b5060006200012b620005ac60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060055460016000620001e0620005ac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060007310ed43c718714eb63d5aa57b78b54704e256024e90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200027e57600080fd5b505afa15801562000293573d6000803e3d6000fd5b505050506040513d6020811015620002aa57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200031e57600080fd5b505afa15801562000333573d6000803e3d6000fd5b505050506040513d60208110156200034a57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620003c557600080fd5b505af1158015620003da573d6000803e3d6000fd5b505050506040513d6020811015620003f157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505060016003600062000485620005b460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200053e620005ac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a35062000683565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200062057805160ff191683800117855562000651565b8280016001018555821562000651579182015b828111156200065057825182559160200191906001019062000633565b5b50905062000660919062000664565b5090565b5b808211156200067f57600081600090555060010162000665565b5090565b60805160601c60a05160601c6134ff620006cb60003980611671528061275a525080610dba5280612b2e5280612c1a5280612c415280612d4c5280612d7352506134ff6000f3fe6080604052600436106101fd5760003560e01c80634ddfae4b1161010d57806395d89b41116100a0578063a9059cbb1161006f578063a9059cbb14610b59578063c0b0fda214610bca578063c49b9a8014610bf5578063dd62ed3e14610c32578063ec28438a14610cb757610204565b806395d89b41146109b65780639a59042714610a465780639b19251a14610a97578063a457c2d714610ae857610204565b806370a08231116100dc57806370a08231146108ce578063715018a6146109335780637d1db4a51461094a5780638da5cb5b1461097557610204565b80634ddfae4b14610826578063616eb6381461085157806369c98469146108685780636bc87c3a146108a357610204565b8063313ce567116101905780633b4c4b251161015f5780633b4c4b251461067d57806343dc3ab2146106b857806349bd5a5e1461077d5780634a74bb02146107be5780634bf2c7c9146107eb57610204565b8063313ce5671461053c578063357bf15c1461056a57806339509351146105a55780633af32abf1461061657610204565b806318160ddd116101cc57806318160ddd146103765780631826c119146103a1578063224a7c6a1461047057806323b872dd146104ab57610204565b806306baecd81461020957806306fdde0314610234578063095ea7b3146102c45780631694505e1461033557610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e610cf2565b6040518082815260200191505060405180910390f35b34801561024057600080fd5b50610249610cf8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028957808201518184015260208101905061026e565b50505050905090810190601f1680156102b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102d057600080fd5b5061031d600480360360408110156102e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d9a565b60405180821515815260200191505060405180910390f35b34801561034157600080fd5b5061034a610db8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038257600080fd5b5061038b610ddc565b6040518082815260200191505060405180910390f35b3480156103ad57600080fd5b5061046e600480360360408110156103c457600080fd5b81019080803590602001906401000000008111156103e157600080fd5b8201836020820111156103f357600080fd5b8035906020019184602083028401116401000000008311171561041557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610de6565b005b34801561047c57600080fd5b506104a96004803603602081101561049357600080fd5b81019080803590602001909291905050506110a1565b005b3480156104b757600080fd5b50610524600480360360608110156104ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611173565b60405180821515815260200191505060405180910390f35b34801561054857600080fd5b5061055161124c565b604051808260ff16815260200191505060405180910390f35b34801561057657600080fd5b506105a36004803603602081101561058d57600080fd5b8101908080359060200190929190505050611263565b005b3480156105b157600080fd5b506105fe600480360360408110156105c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611335565b60405180821515815260200191505060405180910390f35b34801561062257600080fd5b506106656004803603602081101561063957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e8565b60405180821515815260200191505060405180910390f35b34801561068957600080fd5b506106b6600480360360208110156106a057600080fd5b810190808035906020019092919050505061143e565b005b3480156106c457600080fd5b5061077b600480360360208110156106db57600080fd5b81019080803590602001906401000000008111156106f857600080fd5b82018360208201111561070a57600080fd5b8035906020019184602083028401116401000000008311171561072c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611510565b005b34801561078957600080fd5b5061079261166f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ca57600080fd5b506107d3611693565b60405180821515815260200191505060405180910390f35b3480156107f757600080fd5b506108246004803603602081101561080e57600080fd5b81019080803590602001909291905050506116a6565b005b34801561083257600080fd5b5061083b611778565b6040518082815260200191505060405180910390f35b34801561085d57600080fd5b5061086661177e565b005b34801561087457600080fd5b506108a16004803603602081101561088b57600080fd5b810190808035906020019092919050505061189c565b005b3480156108af57600080fd5b506108b861196e565b6040518082815260200191505060405180910390f35b3480156108da57600080fd5b5061091d600480360360208110156108f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611974565b6040518082815260200191505060405180910390f35b34801561093f57600080fd5b50610948611a0e565b005b34801561095657600080fd5b5061095f611b94565b6040518082815260200191505060405180910390f35b34801561098157600080fd5b5061098a611b9a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109c257600080fd5b506109cb611bc3565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a0b5780820151818401526020810190506109f0565b50505050905090810190601f168015610a385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a5257600080fd5b50610a9560048036036020811015610a6957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c65565b005b348015610aa357600080fd5b50610ae660048036036020811015610aba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d88565b005b348015610af457600080fd5b50610b4160048036036040811015610b0b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611eab565b60405180821515815260200191505060405180910390f35b348015610b6557600080fd5b50610bb260048036036040811015610b7c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f78565b60405180821515815260200191505060405180910390f35b348015610bd657600080fd5b50610bdf611f96565b6040518082815260200191505060405180910390f35b348015610c0157600080fd5b50610c3060048036036020811015610c1857600080fd5b81019080803515159060200190929190505050611f9c565b005b348015610c3e57600080fd5b50610ca160048036036040811015610c5557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120ba565b6040518082815260200191505060405180910390f35b348015610cc357600080fd5b50610cf060048036036020811015610cda57600080fd5b8101908080359060200190929190505050612141565b005b600e5481565b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d905780601f10610d6557610100808354040283529160200191610d90565b820191906000526020600020905b815481529060010190602001808311610d7357829003601f168201915b5050505050905090565b6000610dae610da7612213565b848461221b565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600554905090565b610dee612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000610eb8612213565b905060005b835181101561109b57610f1883600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fc08360016000878581518110610f6f57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461245c90919063ffffffff16565b60016000868481518110610fd057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083818151811061102257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38080600101915050610ebd565b50505050565b6110a9612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611169576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600c8190555050565b60006111808484846124e4565b6112418461118c612213565b61123c8560405180606001604052806028815260200161340b60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111f2612213565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289a9092919063ffffffff16565b61221b565b600190509392505050565b6000600860009054906101000a900460ff16905090565b61126b612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060098190555050565b60006113de611342612213565b846113d98560026000611353612213565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461245c90919063ffffffff16565b61221b565b6001905092915050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611446612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060058190555050565b611518612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b815181101561166b578181815181106115f057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040518082815260200191505060405180910390a380806001019150506115db565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600b60019054906101000a900460ff1681565b6116ae612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461176e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a8190555050565b600c5481565b611786612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611846576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000611850612213565b90508073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611898573d6000803e3d6000fd5b5050565b6118a4612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611964576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600e8190555050565b60095481565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611a0357600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611a09565b600c5490505b919050565b611a16612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c5b5780601f10611c3057610100808354040283529160200191611c5b565b820191906000526020600020905b815481529060010190602001808311611c3e57829003601f168201915b5050505050905090565b611c6d612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611d90612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611f6e611eb8612213565b84611f69856040518060600160405280602581526020016134a56025913960026000611ee2612213565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289a9092919063ffffffff16565b61221b565b6001905092915050565b6000611f8c611f85612213565b84846124e4565b6001905092915050565b600a5481565b611fa4612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612064576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600b60016101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405180821515815260200191505060405180910390a150565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b612149612213565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d8190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806134816024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612327576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806133a06022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600061245483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061289a565b905092915050565b6000808284019050838110156124da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561256a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061345c6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061337d6023913960400191505060405180910390fd5b60008111612649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806134336029913960400191505060405180910390fd5b612651611b9a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156126bf575061268f611b9a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561272057600d5481111561271f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806133c26028913960400191505060405180910390fd5b5b600061272b30611974565b90506000600e5482101590508080156127515750600b60009054906101000a900460ff16155b80156127a957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156127c15750600b60019054906101000a900460ff165b156127d557600e5491506127d48261295a565b5b600060019050600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061287c5750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561288657600090505b61289286868684612a3c565b505050505050565b6000838311158290612947576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561290c5780820151818401526020810190506128f1565b50505050905090810190601f1680156129395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6001600b60006101000a81548160ff021916908315150217905550600061298b600283612a4e90919063ffffffff16565b905060006129a2828461241290919063ffffffff16565b905060004790506129b283612a98565b60006129c7824761241290919063ffffffff16565b90506129d38382612d46565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56184828560405180848152602001838152602001828152602001935050505060405180910390a1505050506000600b60006101000a81548160ff02191690831515021790555050565b612a4884848484612e97565b50505050565b6000612a9083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613056565b905092915050565b6060600267ffffffffffffffff81118015612ab257600080fd5b50604051908082528060200260200182016040528015612ae15781602001602082028036833780820191505090505b5090503081600081518110612af257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612b9257600080fd5b505afa158015612ba6573d6000803e3d6000fd5b505050506040513d6020811015612bbc57600080fd5b810190808051906020019092919050505081600181518110612bda57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c3f307f00000000000000000000000000000000000000000000000000000000000000008461221b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612d01578082015181840152602081019050612ce6565b505050509050019650505050505050600060405180830381600087803b158015612d2a57600080fd5b505af1158015612d3e573d6000803e3d6000fd5b505050505050565b612d71307f00000000000000000000000000000000000000000000000000000000000000008461221b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080612dbb611b9a565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015612e4057600080fd5b505af1158015612e54573d6000803e3d6000fd5b50505050506040513d6060811015612e6b57600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050505050565b6000806000612ea6858561311c565b925092509250612efe85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f9383600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461245c90919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fdf826131c2565b612fe88161325a565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050505050565b60008083118290613102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130c75780820151818401526020810190506130ac565b50505050905090810190601f1680156130f45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161310e57fe5b049050809150509392505050565b60008060008061314a606461313c600954896132f690919063ffffffff16565b612a4e90919063ffffffff16565b905060006131766064613168600a548a6132f690919063ffffffff16565b612a4e90919063ffffffff16565b9050856131865760009150600090505b60006131ad8261319f858b61241290919063ffffffff16565b61241290919063ffffffff16565b90508083839550955095505050509250925092565b61321481600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461245c90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6132ae816001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461245c90919063ffffffff16565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000808314156133095760009050613376565b600082840290508284828161331a57fe5b0414613371576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806133ea6021913960400191505060405180910390fd5b809150505b9291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ec0a9c5d6bc06c9b433e089572abb995b8a398f1ecf3d704649a625c61e1650564736f6c634300060c0033

Deployed ByteCode Sourcemap

13447:9750:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14304:49;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15271:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16935:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14027:51;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15542:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15999:405;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18654:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17102:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15453:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18143:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17421:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19747:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18557:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16562:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14085:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14158:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18246:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14205:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16410:146;;;;;;;;;;;;;:::i;:::-;;18339:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13954:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15816:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5359:148;;;;;;;;;;;;;:::i;:::-;;14250:47;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5149:79;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15360:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18030:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17920:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17645:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15643:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13993:27;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18759:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16786:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18450:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14304:49;;;;:::o;15271:83::-;15308:13;15341:5;15334:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15271:83;:::o;16935:161::-;17010:4;17027:39;17036:12;:10;:12::i;:::-;17050:7;17059:6;17027:8;:39::i;:::-;17084:4;17077:11;;16935:161;;;;:::o;14027:51::-;;;:::o;15542:95::-;15595:7;15622;;15615:14;;15542:95;:::o;15999:405::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16096:14:::1;16113:12;:10;:12::i;:::-;16096:29;;16141:9;16136:261;16160:10;:17;16156:1;:21;16136:261;;;16219:29;16241:6;16219:9;:17;16229:6;16219:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;16199:9;:17;16209:6;16199:17;;;;;;;;;;;;;;;:49;;;;16290:36;16319:6;16290:9;:24;16300:10;16311:1;16300:13;;;;;;;;;;;;;;16290:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;16263:9;:24;16273:10;16284:1;16273:13;;;;;;;;;;;;;;16263:24;;;;;;;;;;;;;;;:63;;;;16363:10;16374:1;16363:13;;;;;;;;;;;;;;16346:39;;16355:6;16346:39;;;16378:6;16346:39;;;;;;;;;;;;;;;;;;16179:3;;;;;;;16136:261;;;;5344:1;15999:405:::0;;:::o;18654:99::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18739:6:::1;18725:11;:20;;;;18654:99:::0;:::o;17102:313::-;17200:4;17217:36;17227:6;17235:9;17246:6;17217:9;:36::i;:::-;17264:121;17273:6;17281:12;:10;:12::i;:::-;17295:89;17333:6;17295:89;;;;;;;;;;;;;;;;;:11;:19;17307:6;17295:19;;;;;;;;;;;;;;;:33;17315:12;:10;:12::i;:::-;17295:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17264:8;:121::i;:::-;17403:4;17396:11;;17102:313;;;;;:::o;15453:83::-;15494:5;15519:9;;;;;;;;;;;15512:16;;15453:83;:::o;18143:97::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18229:3:::1;18213:13;:19;;;;18143:97:::0;:::o;17421:218::-;17509:4;17526:83;17535:12;:10;:12::i;:::-;17549:7;17558:50;17597:10;17558:11;:25;17570:12;:10;:12::i;:::-;17558:25;;;;;;;;;;;;;;;:34;17584:7;17558:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;17526:8;:83::i;:::-;17627:4;17620:11;;17421:218;;;;:::o;19747:113::-;19807:4;19831:12;:21;19844:7;19831:21;;;;;;;;;;;;;;;;;;;;;;;;;19824:28;;19747:113;;;:::o;18557:91::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18634:6:::1;18624:7;:16;;;;18557:91:::0;:::o;16562:218::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16647:9:::1;16642:131;16666:10;:17;16662:1;:21;16642:131;;;16734:10;16745:1;16734:13;;;;;;;;;;;;;;16710:51;;16727:4;16710:51;;;16749:11;;16710:51;;;;;;;;;;;;;;;;;;16685:3;;;;;;;16642:131;;;;16562:218:::0;:::o;14085:38::-;;;:::o;14158:40::-;;;;;;;;;;;;;:::o;18246:87::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18322:3:::1;18311:8;:14;;;;18246:87:::0;:::o;14205:38::-;;;;:::o;16410:146::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16462:22:::1;16487:12;:10;:12::i;:::-;16462:37;;16510:6;:15;;:38;16526:21;16510:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;5344:1;16410:146::o:0;18339:105::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18430:6:::1;18413:14;:23;;;;18339:105:::0;:::o;13954:32::-;;;;:::o;15816:177::-;15882:7;15928:1;15906:9;:18;15916:7;15906:18;;;;;;;;;;;;;;;;:23;15902:54;;15938:9;:18;15948:7;15938:18;;;;;;;;;;;;;;;;15931:25;;;;15902:54;15974:11;;15967:18;;15816:177;;;;:::o;5359:148::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5466:1:::1;5429:40;;5450:6;::::0;::::1;;;;;;;;5429:40;;;;;;;;;;;;5497:1;5480:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5359:148::o:0;14250:47::-;;;;:::o;5149:79::-;5187:7;5214:6;;;;;;;;;;;5207:13;;5149:79;:::o;15360:87::-;15399:13;15432:7;15425:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15360:87;:::o;18030:107::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18124:5:::1;18100:12;:21;18113:7;18100:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;18030:107:::0;:::o;17920:104::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18012:4:::1;17988:12;:21;18001:7;17988:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;17920:104:::0;:::o;17645:269::-;17738:4;17755:129;17764:12;:10;:12::i;:::-;17778:7;17787:96;17826:15;17787:96;;;;;;;;;;;;;;;;;:11;:25;17799:12;:10;:12::i;:::-;17787:25;;;;;;;;;;;;;;;:34;17813:7;17787:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;17755:8;:129::i;:::-;17902:4;17895:11;;17645:269;;;;:::o;15643:167::-;15721:4;15738:42;15748:12;:10;:12::i;:::-;15762:9;15773:6;15738:9;:42::i;:::-;15798:4;15791:11;;15643:167;;;;:::o;13993:27::-;;;;:::o;18759:170::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18861:7:::1;18837:21;;:31;;;;;;;;;;;;;;;;;;18884:37;18913:7;18884:37;;;;;;;;;;;;;;;;;;;;18759:170:::0;:::o;16786:143::-;16867:7;16894:11;:18;16906:5;16894:18;;;;;;;;;;;;;;;:27;16913:7;16894:27;;;;;;;;;;;;;;;;16887:34;;16786:143;;;;:::o;18450:101::-;5284:12;:10;:12::i;:::-;5274:22;;:6;;;;;;;;;;:22;;;5266:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18537:6:::1;18522:12;:21;;;;18450:101:::0;:::o;2292:106::-;2345:15;2380:10;2373:17;;2292:106;:::o;19866:337::-;19976:1;19959:19;;:5;:19;;;;19951:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20057:1;20038:21;;:7;:21;;;;20030:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20141:6;20111:11;:18;20123:5;20111:18;;;;;;;;;;;;;;;:27;20130:7;20111:27;;;;;;;;;;;;;;;:36;;;;20179:7;20163:32;;20172:5;20163:32;;;20188:6;20163:32;;;;;;;;;;;;;;;;;;19866:337;;;:::o;1027:136::-;1085:7;1112:43;1116:1;1119;1112:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1105:50;;1027:136;;;;:::o;842:179::-;900:7;920:9;936:1;932;:5;920:17;;961:1;956;:6;;948:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1012:1;1005:8;;;842:179;;;;:::o;20209:1015::-;20313:1;20297:18;;:4;:18;;;;20289:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20390:1;20376:16;;:2;:16;;;;20368:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20460:1;20451:6;:10;20443:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20529:7;:5;:7::i;:::-;20521:15;;:4;:15;;;;:32;;;;;20546:7;:5;:7::i;:::-;20540:13;;:2;:13;;;;20521:32;20518:112;;;20573:12;;20563:6;:22;;20555:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20518:112;20641:28;20672:24;20690:4;20672:9;:24::i;:::-;20641:55;;20709:24;20760:14;;20736:20;:38;;20709:65;;20803:19;:53;;;;;20840:16;;;;;;;;;;;20839:17;20803:53;:91;;;;;20881:13;20873:21;;:4;:21;;;;20803:91;:129;;;;;20911:21;;;;;;;;;;;20803:129;20785:274;;;20982:14;;20959:37;;21011:36;21026:20;21011:14;:36::i;:::-;20785:274;21079:12;21094:4;21079:19;;21112:12;:18;21125:4;21112:18;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;;21134:12;:16;21147:2;21134:16;;;;;;;;;;;;;;;;;;;;;;;;;21112:38;21109:58;;;21162:5;21152:15;;21109:58;21178:38;21193:4;21198:2;21201:6;21208:7;21178:14;:38::i;:::-;20209:1015;;;;;;:::o;1169:190::-;1255:7;1288:1;1283;:6;;1291:12;1275:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1315:9;1331:1;1327;:5;1315:17;;1350:1;1343:8;;;1169:190;;;;;:::o;21230:464::-;14668:4;14649:16;;:23;;;;;;;;;;;;;;;;;;21315:12:::1;21330:27;21355:1;21330:20;:24;;:27;;;;:::i;:::-;21315:42;;21368:17;21388:30;21413:4;21388:20;:24;;:30;;;;:::i;:::-;21368:50;;21429:22;21454:21;21429:46;;21486:22;21503:4;21486:16;:22::i;:::-;21519:18;21540:41;21566:14;21540:21;:25;;:41;;;;:::i;:::-;21519:62;;21592:35;21605:9;21616:10;21592:12;:35::i;:::-;21643:43;21658:4;21664:10;21676:9;21643:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14683:1;;;;14714:5:::0;14695:16;;:24;;;;;;;;;;;;;;;;;;21230:464;:::o;22543:169::-;22651:53;22669:6;22677:9;22688:6;22696:7;22651:17;:53::i;:::-;22543:169;;;;:::o;1617:132::-;1675:7;1702:39;1706:1;1709;1702:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1695:46;;1617:132;;;;:::o;21700:471::-;21766:21;21804:1;21790:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21766:40;;21835:4;21817;21822:1;21817:7;;;;;;;;;;;;;:23;;;;;;;;;;;21861:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21851:4;21856:1;21851:7;;;;;;;;;;;;;:32;;;;;;;;;;;21894:62;21911:4;21926:15;21944:11;21894:8;:62::i;:::-;21967:15;:66;;;22048:11;22074:1;22090:4;22117;22137:15;21967:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21700:471;;:::o;22177:360::-;22258:62;22275:4;22290:15;22308:11;22258:8;:62::i;:::-;22331:15;:31;;;22370:9;22403:4;22423:11;22449:1;22465;22481:7;:5;:7::i;:::-;22503:15;22331:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22177:360;;:::o;22718:476::-;22831:23;22856:18;22876:13;22893:29;22905:7;22914;22893:11;:29::i;:::-;22830:92;;;;;;22953:30;22975:7;22953:9;:17;22963:6;22953:17;;;;;;;;;;;;;;;;:21;;:30;;;;:::i;:::-;22933:9;:17;22943:6;22933:17;;;;;;;;;;;;;;;:50;;;;23017:41;23042:15;23017:9;:20;23027:9;23017:20;;;;;;;;;;;;;;;;:24;;:41;;;;:::i;:::-;22994:9;:20;23004:9;22994:20;;;;;;;;;;;;;;;:64;;;;23069:28;23086:10;23069:16;:28::i;:::-;23108:18;23120:5;23108:11;:18::i;:::-;23159:9;23142:44;;23151:6;23142:44;;;23170:15;23142:44;;;;;;;;;;;;;;;;;;22718:476;;;;;;;:::o;1755:189::-;1841:7;1873:1;1869;:5;1876:12;1861:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1900:9;1916:1;1912;:5;;;;;;1900:17;;1935:1;1928:8;;;1755:189;;;;;:::o;18935:453::-;19009:7;19018;19027;19047:18;19068:37;19099:5;19068:26;19080:13;;19068:7;:11;;:26;;;;:::i;:::-;:30;;:37;;;;:::i;:::-;19047:58;;19116:13;19132:32;19158:5;19132:21;19144:8;;19132:7;:11;;:21;;;;:::i;:::-;:25;;:32;;;;:::i;:::-;19116:48;;19180:7;19175:79;;19217:1;19204:14;;19241:1;19233:9;;19175:79;19266:23;19292:34;19320:5;19292:23;19304:10;19292:7;:11;;:23;;;;:::i;:::-;:27;;:34;;;;:::i;:::-;19266:60;;19345:15;19362:10;19374:5;19337:43;;;;;;;;;18935:453;;;;;:::o;19394:140::-;19486:40;19515:10;19486:9;:24;19504:4;19486:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;19459:9;:24;19477:4;19459:24;;;;;;;;;;;;;;;:67;;;;19394:140;:::o;19540:201::-;19660:73;19727:5;19660:9;:62;19678:42;19660:62;;;;;;;;;;;;;;;;:66;;:73;;;;:::i;:::-;19595:9;:62;19613:42;19595:62;;;;;;;;;;;;;;;:138;;;;19540:201;:::o;1365:246::-;1423:7;1452:1;1447;:6;1443:47;;;1477:1;1470:8;;;;1443:47;1500:9;1516:1;1512;:5;1500:17;;1545:1;1540;1536;:5;;;;;;:10;1528:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1602:1;1595:8;;;1365:246;;;;;:::o

Swarm Source

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