Contract 0xADB5AB463c060632df20fAc209E703799B146f50

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xd7169fb25245445fe657fce0b6559e94be3b838cca41fd8a875ff974a3437b61Swap BNB For Bra...120771962021-10-25 11:33:101 min ago0xb59b6deaa3533227bfea09fc6226bc3e5d98b25b IN  0xadb5ab463c060632df20fac209e703799b146f500.03 BNB0.00139616
0x8b1bff3d2ee806b14591b718e16ccfaa9024132b3b489b389648bd2f79aad623Swap Token For B...120771862021-10-25 11:32:372 mins ago0xb59b6deaa3533227bfea09fc6226bc3e5d98b25b IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.00212509
0x5b2296ca42ab542839dcb95f8f473140f46e97287147a8bae4cf7c6e2ba6f57fClaim Lottery120771832021-10-25 11:32:282 mins ago0xe5f09ee1d38b1b8c8784c26febf2880d7f09c628 IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.00017073
0x2f799078c682b3a26950474ec1de12ffcfa38773d5c094ac95baf538dd6259f7Swap BNB For Bra...120771832021-10-25 11:32:282 mins ago0xa47b89e4651a77681172699292826cc59a5f40c1 IN  0xadb5ab463c060632df20fac209e703799b146f500.65 BNB0.00151026
0xd218c5d6a2f74850d7aefea5b1b11d9cb9b79569d67ae59747d202fef1992b83Approve120771732021-10-25 11:31:583 mins ago0x2e4d1e75d50d5b10962bd8e73459f5ad86b392be IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.000225695
0x8127f068db06f47859c3d690730e045564137fe8e93d79ddee14b8c05848981bClaim Lottery120770992021-10-25 11:28:166 mins ago0x83668a8168179799faec35b5812dad0c0c119e1b IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.00014003
0x69d927478bb457dc25d456078937e336a66ab1434064e5a18f899f7e49db0b0dSwap BNB For Bra...120770672021-10-25 11:26:408 mins ago0x744a7d7e183446d20fd1b1215e7a0abb16185ea6 IN  0xadb5ab463c060632df20fac209e703799b146f500.018872235160588 BNB0.00140522
0xb1a218752c73a00ac396fc72552b5b9cf5c52e68d5792721495efb9821c7c1abSwap Brave For T...120770532021-10-25 11:25:589 mins ago0x0bd133ea17a9b5060c9b9ef30992d22e6133ff8f IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.00156742
0x80bf13ba6b53ce94b1ac848b4bdd3f1a6a776236fa97d968d81a506f363560a0Swap Brave For T...120770392021-10-25 11:25:169 mins ago0x369ededb549d9b61c7d480f4ff63901c2aa39967 IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.00197601
0xc2259afa8068ed366ba7c312322c077b24605cef567be29dfa28a71e0ba03b6aSwap Brave For T...120770102021-10-25 11:23:4911 mins ago0xe479ed1b36259bdfee8c93f1f39968b4a407bd19 IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.00149236
0x6176f3110768c6507a55e6c570d511368a83fce443be3505e8e6b863fbff42c8Swap BNB For Bra...120770082021-10-25 11:23:4311 mins ago0xc4abef298500304d467146b0cf951e72aad7b81f IN  0xadb5ab463c060632df20fac209e703799b146f500.25330068899068 BNB0.0013448
0xddcd7d06e4e851158f35734c53412a005d654bf60d98a3b2e215e1bdf294cc60Swap BNB For Bra...120770082021-10-25 11:23:4311 mins ago0x8274ba81998a4f74e3170164a8de1130112dbba1 IN  0xadb5ab463c060632df20fac209e703799b146f500.2 BNB0.00141426
0x47e1a74652f756b7a8ac0fb0cc82e86e39a38a37dc46ebe01dd524f83adf914dSwap Brave For T...120769892021-10-25 11:22:4612 mins ago0xf89fa254313e170900b853ca25f0c0ff87b20d9a IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.001283355
0x8bd40498e6194b8dd58615bd7943ddab7c26ce9d3f23d136b4849ed40dfd7b43Claim Lottery120769582021-10-25 11:21:1313 mins ago0x58cc6af16054f7dfdfbea4e0a2c46c0757ea2df7 IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.00014003
0xa516180a4718d39326f84b72c6452b4b1a5c8d9a596647d39d059518be87f021Swap BNB For Bra...120769282021-10-25 11:19:4315 mins ago0xead3d0d37375401e159938e301230d483f1c4e4d IN  0xadb5ab463c060632df20fac209e703799b146f500.2 BNB0.00148022
0x869b015db447086ea3dfde36af63da000b998f3de82c8dd297138008b8599f71Claim Lottery120769172021-10-25 11:19:1015 mins ago0x8f892df975268014a6d66918fedeb63dd2ed25de IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.000201435
0x2cb9fcdb1d919a9fb4dccbce35f25df5912e0dd14f27909f96304622a549731cClaim Lottery120769012021-10-25 11:18:2216 mins ago0xc7317c5c439f31e5100d907eabf70b7f3cbc739a IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.00014003
0xbf517ab98f93aad0afb2520a1c75865dc37a528330d0e9589e47427d130a8b60Approve120768812021-10-25 11:17:2217 mins ago0xacbbf275a5677dc8696907cb3b3c04b1cd27b7e1 IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.000225695
0xd194e8b63a437aec1182a7fc578579bf80f90a5fff50fcd181b66f27f503dac5Swap BNB For Bra...120768682021-10-25 11:16:4318 mins ago0xbc72bfa2199ac296fa4cf24de27453718976c605 IN  0xadb5ab463c060632df20fac209e703799b146f500.646001616171809 BNB0.00140522
0x4ca1dbdac88c3fd5bfaad2613dfc4fd7de0f07aded60390c7c0d875f755b3cf2Swap Brave For T...120768592021-10-25 11:16:1618 mins ago0x1bf9fbec70a50fa3160e19687ead8bc8207fd4b2 IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.001501975
0xe3019170151107c1b3921602fd5b1a1170ad84a1a7e2352ff05f31f63005549eClaim Lottery120768382021-10-25 11:15:1319 mins ago0xfbd2196b5116ea40b009526732d5cf75291fd7b1 IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.00014003
0x412c30f4124fb93704290fa36230ed48d52b973f90f1fddd93171ca3af31301cSwap BNB For Bra...120768292021-10-25 11:14:4620 mins ago0x40ddf43470d7165d4bc6c6e63a6102644b743f64 IN  0xadb5ab463c060632df20fac209e703799b146f500.2 BNB0.001226195
0x73d2f3c7bd964a0e37ee124212fcaa2ce9139ada372a393776743009d0629ec3Swap BNB For Bra...120768242021-10-25 11:14:3120 mins ago0x4e00f93972e7a2c1447d8ef584b94c38692f03f2 IN  0xadb5ab463c060632df20fac209e703799b146f500.3 BNB0.00135384
0x86f23984d20895463a6430871824928e6d5899a3eaae950674110ca5cd90c0b4Swap BNB For Bra...120768242021-10-25 11:14:3120 mins ago0xead3d0d37375401e159938e301230d483f1c4e4d IN  0xadb5ab463c060632df20fac209e703799b146f500.8 BNB0.002022750882
0xbfdb04499149557c1874009010dcc522a087eaf23b9550d2042ca36b79d92330Claim Lottery120768052021-10-25 11:13:3421 mins ago0x40c4f523609652286f0bc56a4492ba2a520dadf5 IN  0xadb5ab463c060632df20fac209e703799b146f500 BNB0.00014003
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xd7169fb25245445fe657fce0b6559e94be3b838cca41fd8a875ff974a3437b61120771962021-10-25 11:33:101 min ago 0xadb5ab463c060632df20fac209e703799b146f50 PancakeSwap: Router v20.0282 BNB
0xd7169fb25245445fe657fce0b6559e94be3b838cca41fd8a875ff974a3437b61120771962021-10-25 11:33:101 min ago 0xadb5ab463c060632df20fac209e703799b146f500x01ddadfc46b0bd4fbe72d5619dc54239108ec5060.0003 BNB
0x8b1bff3d2ee806b14591b718e16ccfaa9024132b3b489b389648bd2f79aad623120771862021-10-25 11:32:372 mins ago 0xadb5ab463c060632df20fac209e703799b146f50 PancakeSwap: Router v20.077132993987407823 BNB
0x8b1bff3d2ee806b14591b718e16ccfaa9024132b3b489b389648bd2f79aad623120771862021-10-25 11:32:372 mins ago 0xadb5ab463c060632df20fac209e703799b146f500x01ddadfc46b0bd4fbe72d5619dc54239108ec5060.000820563765823487 BNB
0x8b1bff3d2ee806b14591b718e16ccfaa9024132b3b489b389648bd2f79aad623120771862021-10-25 11:32:372 mins ago PancakeSwap: Router v2 0xadb5ab463c060632df20fac209e703799b146f500.082056376582348747 BNB
0x5b2296ca42ab542839dcb95f8f473140f46e97287147a8bae4cf7c6e2ba6f57f120771832021-10-25 11:32:282 mins ago 0xadb5ab463c060632df20fac209e703799b146f500xe5f09ee1d38b1b8c8784c26febf2880d7f09c6280.025447022173225441 BNB
0x2f799078c682b3a26950474ec1de12ffcfa38773d5c094ac95baf538dd6259f7120771832021-10-25 11:32:282 mins ago 0xadb5ab463c060632df20fac209e703799b146f50 PancakeSwap: Router v20.611 BNB
0x2f799078c682b3a26950474ec1de12ffcfa38773d5c094ac95baf538dd6259f7120771832021-10-25 11:32:282 mins ago 0xadb5ab463c060632df20fac209e703799b146f500x01ddadfc46b0bd4fbe72d5619dc54239108ec5060.0065 BNB
0x8127f068db06f47859c3d690730e045564137fe8e93d79ddee14b8c05848981b120770992021-10-25 11:28:166 mins ago 0xadb5ab463c060632df20fac209e703799b146f500x83668a8168179799faec35b5812dad0c0c119e1b0.008752640801448642 BNB
0x69d927478bb457dc25d456078937e336a66ab1434064e5a18f899f7e49db0b0d120770672021-10-25 11:26:408 mins ago 0xadb5ab463c060632df20fac209e703799b146f50 PancakeSwap: Router v20.017739901050952799 BNB
0x69d927478bb457dc25d456078937e336a66ab1434064e5a18f899f7e49db0b0d120770672021-10-25 11:26:408 mins ago 0xadb5ab463c060632df20fac209e703799b146f500x01ddadfc46b0bd4fbe72d5619dc54239108ec5060.00018872235160588 BNB
0xb1a218752c73a00ac396fc72552b5b9cf5c52e68d5792721495efb9821c7c1ab120770532021-10-25 11:25:589 mins ago 0xadb5ab463c060632df20fac209e703799b146f500x0bd133ea17a9b5060c9b9ef30992d22e6133ff8f0.587427575723941296 BNB
0xb1a218752c73a00ac396fc72552b5b9cf5c52e68d5792721495efb9821c7c1ab120770532021-10-25 11:25:589 mins ago 0xadb5ab463c060632df20fac209e703799b146f500x01ddadfc46b0bd4fbe72d5619dc54239108ec5060.006249229528978098 BNB
0xb1a218752c73a00ac396fc72552b5b9cf5c52e68d5792721495efb9821c7c1ab120770532021-10-25 11:25:589 mins ago PancakeSwap: Router v2 0xadb5ab463c060632df20fac209e703799b146f500.624922952897809889 BNB
0x80bf13ba6b53ce94b1ac848b4bdd3f1a6a776236fa97d968d81a506f363560a0120770392021-10-25 11:25:169 mins ago 0xadb5ab463c060632df20fac209e703799b146f50 PancakeSwap: Router v20.304299016239485812 BNB
0x80bf13ba6b53ce94b1ac848b4bdd3f1a6a776236fa97d968d81a506f363560a0120770392021-10-25 11:25:169 mins ago 0xadb5ab463c060632df20fac209e703799b146f500x01ddadfc46b0bd4fbe72d5619dc54239108ec5060.003237223577015806 BNB
0x80bf13ba6b53ce94b1ac848b4bdd3f1a6a776236fa97d968d81a506f363560a0120770392021-10-25 11:25:169 mins ago PancakeSwap: Router v2 0xadb5ab463c060632df20fac209e703799b146f500.323722357701580651 BNB
0xc2259afa8068ed366ba7c312322c077b24605cef567be29dfa28a71e0ba03b6a120770102021-10-25 11:23:4911 mins ago 0xadb5ab463c060632df20fac209e703799b146f500xe479ed1b36259bdfee8c93f1f39968b4a407bd190.063147621692623594 BNB
0xc2259afa8068ed366ba7c312322c077b24605cef567be29dfa28a71e0ba03b6a120770102021-10-25 11:23:4911 mins ago 0xadb5ab463c060632df20fac209e703799b146f500x01ddadfc46b0bd4fbe72d5619dc54239108ec5060.000671783209495995 BNB
0xc2259afa8068ed366ba7c312322c077b24605cef567be29dfa28a71e0ba03b6a120770102021-10-25 11:23:4911 mins ago PancakeSwap: Router v2 0xadb5ab463c060632df20fac209e703799b146f500.067178320949599568 BNB
0x6176f3110768c6507a55e6c570d511368a83fce443be3505e8e6b863fbff42c8120770082021-10-25 11:23:4311 mins ago 0xadb5ab463c060632df20fac209e703799b146f50 PancakeSwap: Router v20.238102647651239294 BNB
0x6176f3110768c6507a55e6c570d511368a83fce443be3505e8e6b863fbff42c8120770082021-10-25 11:23:4311 mins ago 0xadb5ab463c060632df20fac209e703799b146f500x01ddadfc46b0bd4fbe72d5619dc54239108ec5060.002533006889906801 BNB
0xddcd7d06e4e851158f35734c53412a005d654bf60d98a3b2e215e1bdf294cc60120770082021-10-25 11:23:4311 mins ago 0xadb5ab463c060632df20fac209e703799b146f50 PancakeSwap: Router v20.188 BNB
0xddcd7d06e4e851158f35734c53412a005d654bf60d98a3b2e215e1bdf294cc60120770082021-10-25 11:23:4311 mins ago 0xadb5ab463c060632df20fac209e703799b146f500x01ddadfc46b0bd4fbe72d5619dc54239108ec5060.002 BNB
0x47e1a74652f756b7a8ac0fb0cc82e86e39a38a37dc46ebe01dd524f83adf914d120769892021-10-25 11:22:4612 mins ago 0xadb5ab463c060632df20fac209e703799b146f500xf89fa254313e170900b853ca25f0c0ff87b20d9a0.895782873516941148 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BraveToken

Compiler Version
v0.6.8+commit.0bbfe453

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-30
*/

//SPDX-License-Identifier: Unlicensed
pragma solidity >=0.6.8;
pragma experimental ABIEncoderV2;

interface IBEP20 {

    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");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }


    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    uint256 private _lockTime;

    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);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function geUnlockTime() public view returns (uint256) {
        return _lockTime;
    }

    function lock(uint256 time) public virtual onlyOwner {
        _previousOwner = _owner;
        _owner = address(0);
        _lockTime = now + time;
        emit OwnershipTransferred(_owner, address(0));
    }

    function unlock() public virtual {
        require(_previousOwner == msg.sender, "You don't have permission to unlock");
        require(now > _lockTime , "Contract is locked until 7 days");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
}

interface IPancakeFactory {
    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 IPancakePair {
    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 IPancakeRouter01 {
    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 IPancakeRouter02 is IPancakeRouter01 {
    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;
}

library BraveCommon {
    using SafeMath for uint256;

    function random(uint256 from, uint256 to, uint256 salty) internal view returns (uint256) {
        uint256 seed = uint256(
            keccak256(
                abi.encodePacked(
                    block.timestamp + block.difficulty +
                    ((uint256(keccak256(abi.encodePacked(block.coinbase)))) / (block.timestamp)) +
                    block.gaslimit +
                    ((uint256(keccak256(abi.encodePacked(msg.sender)))) / (block.timestamp)) +
                    block.number +
                    salty
                )
            )
        );
        return seed.mod(to - from) + from;
    }

    function getTokenBNBPairAddress(IPancakeRouter02 router, address tokenAddress) internal view returns (address)
    {
        return IPancakeFactory(router.factory()).getPair(tokenAddress, router.WETH());     
    }
}

contract BraveToken is Context, IBEP20, Ownable {
    using SafeMath for uint256;
    using Address for address;

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

    uint256 private _tTotal = 10000000000 * 10 ** 6 * 10 ** 9;

    string private _name = "BraveToken";
    string private _symbol = "Brave";
    uint8 private _decimals = 9;

    IPancakeRouter02 private pancakeRouter;
    BraveWhiteList private whiteList;

    constructor (
        address payable routerAddress,
        address whiteListAddress
    ) public {
        _tOwned[_msgSender()] = _tTotal.mul(94) / 100;
        _tOwned[salePool] = _tTotal.mul(5) / 100;
        _tOwned[addressAD] = _tTotal / 100;

        IPancakeRouter02 _pancakeRouter = IPancakeRouter02(routerAddress);
        pancakeRouter = _pancakeRouter;
        whiteList = BraveWhiteList(whiteListAddress);

        updateRewardTime(salePool);
        _lotteryIncluded.push(salePool);
        _lotterySeek[salePool] = 7;

        lotteryTermsAmount.push(0);

        wonNumCurrent = whiteList.wonNum();
        claimLotteryNumberCurrent = whiteList.claimLotteryNumber();

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    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 _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    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));
        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));
        return true;
    }

    receive() external payable {}

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0));
        require(spender != address(0));

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {

        require(from != address(0));
        require(to != address(0));
        require(amount > 0);

        address pancakePair = BraveCommon.getTokenBNBPairAddress(pancakeRouter, address(this));

        if(from == pancakePair) {
            if(to == address(pancakeRouter)) {
                _transferStandard(from, to, amount);
            }else {
                require(to == address(addressAD) && swapUnlock);
                uint256 restAmount = amount.sub(getBurnTxFee(from, amount));
                if(!isAccountActive[tx.origin]) {
                    isAccountActive[tx.origin] = true;
                    activeAccountsNum += 1;
                }
                includeLotteryAccount(tx.origin, restAmount);
                _transferStandard(from, tx.origin, restAmount);
                updateRewardTime(tx.origin);
                swapUnlock = false;
            }
        }else if(to == pancakePair) {
            if(from != owner()) {
                require(from == address(this));
            }
            _transferStandard(from, to, amount);
        }else {
            if(!isAccountActive[to]) {
                isAccountActive[to] = true;
                activeAccountsNum += 1;
            }
            if(whiteList.whiteListActive(from) == true || whiteList.whiteListActive(to) == true) {
                _transferStandard(from, to, amount);
            }else {
                swapBraveCtoC(from, to, amount);
                updateRewardTime(from);
                updateRewardTime(to);
            }
        }
    }

    function lotteryOpen(uint256 amount) private {
        address luckyAddress;
        claimLotteryCount += 1;
        if(_lotteryIncluded.length > 0) {
            for(uint256 i; i < wonNumCurrent; i++) {
                luckyAddress = _lotteryIncluded[BraveCommon.random(0, _lotteryIncluded.length, amount)];
                if(accountLotteryHistory[luckyAddress][lotteryTerm] == 0) {
                    accountLotteryTerms[luckyAddress].push(lotteryTerm);
                }
                accountLotteryHistory[luckyAddress][lotteryTerm] += 1;
            }
        }
        if(claimLotteryCount >= claimLotteryNumberCurrent) {
            lotteryTermsAmount.pop();
            lotteryTermsAmount.push(termLotteryBNB.div(claimLotteryNumberCurrent.mul(wonNumCurrent)));
            lotteryTerm += 1;
            lotteryTermsAmount.push(0);
            claimLotteryCount = 0;
            termLotteryBNB = 0;
            wonNumCurrent = whiteList.wonNum();
            claimLotteryNumberCurrent = whiteList.claimLotteryNumber();
        }
    }

    function _transferStandard(address sender, address recipient, uint256 amount) private {
        _tOwned[sender] = _tOwned[sender].sub(amount);
        _tOwned[recipient] = _tOwned[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    bool private swapUnlock;

    mapping(address => bool) private isAccountActive;
    uint256 public activeAccountsNum;

    address private salePool = 0x01DdADFc46b0BD4FBe72d5619Dc54239108eC506;
    address private addressAD = 0x3A9f4021365c6117bDfE0095604959931D1fA6e6;

    uint256 public lotteryPoolBNB;
    uint256 public rewardPoolBNB;

    uint256 public claimLotteryCount = 0;
    uint256 public getLotteryAmount = 5000000000000 * 10**9;
    uint256 private termLotteryBNB;
    address[] private _lotteryIncluded;
    mapping(address => uint256) public _lotterySeek;
    uint256 public lotteryTerm;
    uint256[] public lotteryTermsAmount;
    mapping(address => mapping(uint256 => uint256)) public accountLotteryHistory;
    mapping(address => uint256[]) public accountLotteryTerms;
    uint256 public claimLotteryNumberCurrent;
    uint256 public wonNumCurrent;
    uint256 public lotteryGetTermsLimit = 100;

    mapping (address => uint256) public nextRewardTime;

    uint256 public buyLimitPerDay = 10;
    uint256 private amountLimitPerTime = 4 * 10**17;

    mapping(address => uint256) public accountBuyNumState;
    mapping(address => uint256) private accountBuyDayState;

    function excludeLotteryAccount(address sender, uint256 amount) private {
        if(_tOwned[sender] >= getLotteryAmount && _tOwned[sender].sub(amount) < getLotteryAmount) {
            _lotteryIncluded[_lotterySeek[sender]-7] = _lotteryIncluded[_lotteryIncluded.length-1];
            _lotterySeek[_lotteryIncluded[_lotteryIncluded.length-1]] = _lotterySeek[sender];
            _lotterySeek[sender] = 0;
            _lotteryIncluded.pop();
        }
    }

    function includeLotteryAccount(address recipient, uint256 amount) private {
        if(_tOwned[recipient] < getLotteryAmount && _tOwned[recipient].add(amount) >= getLotteryAmount) {
            _lotteryIncluded.push(recipient);
            _lotterySeek[recipient] = _lotteryIncluded.length-1+7;
        }
    }

    function includeLotteryAccountForce() public {
        require(_lotterySeek[msg.sender] == 0 && _tOwned[msg.sender] >= getLotteryAmount);
        _lotteryIncluded.push(msg.sender);
        _lotterySeek[msg.sender] = _lotteryIncluded.length-1+7;
    }

    function claimReward() public {
        require(nextRewardTime[msg.sender] != 0 && block.timestamp >= nextRewardTime[msg.sender]);
        uint256 reward = getRewardAmount(msg.sender);
        rewardPoolBNB = rewardPoolBNB.sub(reward);
        (bool sent,) = msg.sender.call{value : reward}("");
        require(sent);
        updateRewardTime(msg.sender);
    }

    function claimLottery() public {
        uint256 reward;
        uint256 term;
        uint256 times = getLotteryLength(msg.sender);
        uint256 temp = accountLotteryTerms[msg.sender][times-1];
        for(uint256 i; i < times; i++) {
            if(i == lotteryGetTermsLimit) break;
            term = accountLotteryTerms[msg.sender][times-i-1];
            reward += lotteryTermsAmount[term].mul(accountLotteryHistory[msg.sender][term]);
            accountLotteryTerms[msg.sender].pop();
        }
        if(lotteryTermsAmount[temp] == 0) {
            accountLotteryTerms[msg.sender].push(temp);
        }
        require(reward > 0);
        lotteryPoolBNB = lotteryPoolBNB.sub(reward);
        (bool sent,) = msg.sender.call{value : reward}("");
        require(sent);
    }

    function getLotteryLength(address account) public view returns (uint256) {
        return accountLotteryTerms[account].length;
    }

    function updateRewardTime(address account) private {
        nextRewardTime[account] = block.timestamp + whiteList.rewardLimitPeriod();
    }

    function updateBuyState(address account) private {
        uint256 getTodayCount = block.timestamp / 86400;
        if(accountBuyDayState[account] != getTodayCount) {
            accountBuyDayState[account] = getTodayCount;
            accountBuyNumState[account] = 0;
        }
    }

    function getBurnTxFee(address from, uint256 amount) private returns (uint256) {
        uint256 burnFee = amount.mul(4) / 100;
        _transferStandard(from, address(0x000000000000000000000000000000000000dEaD), burnFee);
        return burnFee;
    }

    function paySwapTxFee(uint256 amount) private {
        uint256 txFeeBase = amount / 6;
        uint256 restFee = amount.sub(txFeeBase.mul(3));
        lotteryPoolBNB += txFeeBase.mul(2);
        termLotteryBNB += txFeeBase.mul(2);
        rewardPoolBNB += restFee;
        (bool sent,) = salePool.call{value : txFeeBase}("");
        require(sent);
    }

    function setBuyLimitPerDay(uint256 num) public {
        require(tx.origin == owner());
        buyLimitPerDay = num;
    }

    function setAmountLimitPerTime(uint256 amount) public {
        require(tx.origin == owner());
        amountLimitPerTime = amount;
    }

    function setGetLotteryAmount(uint256 amount) public {
        require(tx.origin == owner());
        getLotteryAmount = amount;
    }

    function swapBNBForBrave() public payable {
        swapUnlock = true;

        uint256 bnbCanSwap = msg.value;

        updateBuyState(msg.sender);
        require((bnbCanSwap <= amountLimitPerTime) && (accountBuyNumState[msg.sender] < buyLimitPerDay));
        accountBuyNumState[msg.sender] += 1;

        uint256 swapTxFee = bnbCanSwap.mul(6) / 100;
        uint256 bnbSwap = bnbCanSwap.sub(swapTxFee);
        paySwapTxFee(swapTxFee);

        address[] memory path = new address[](2);
        path[0] = pancakeRouter.WETH();
        path[1] = address(this);
        pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: bnbSwap}(
            0,
            path,
            address(addressAD),
            block.timestamp
        );

        lotteryOpen(msg.value);
    }

    function swapTokenForBrave(uint256 amount, address tokenAddress) public {   
        swapUnlock = true;

        IBEP20(tokenAddress).transferFrom(msg.sender, address(this), amount);
        IBEP20(tokenAddress).approve(address(pancakeRouter), amount);

        address[] memory path = new address[](2);
        path[0] = tokenAddress;
        path[1] = pancakeRouter.WETH();

        uint256[] memory bnbCanSwap = pancakeRouter.getAmountsOut(amount, path);

        updateBuyState(msg.sender);
        require((bnbCanSwap[1] <= amountLimitPerTime) && (accountBuyNumState[msg.sender] < buyLimitPerDay));
        accountBuyNumState[msg.sender] += 1;

        pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 swapTxFee = bnbCanSwap[1].mul(6) / 100;
        uint256 bnbSwap = bnbCanSwap[1].sub(swapTxFee);
        paySwapTxFee(swapTxFee);

        path[0] = pancakeRouter.WETH();
        path[1] = address(this);
        pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: bnbSwap}(
            0,
            path,
            address(addressAD),
            block.timestamp
        );

        lotteryOpen(amount);
    }

    function swapBraveForToken(uint256 amount, address tokenAddress) public {
        excludeLotteryAccount(msg.sender, amount);
        updateRewardTime(msg.sender);

        _transferStandard(msg.sender, address(this), amount);

        uint256 restAmount = amount.sub(getBurnTxFee(address(this), amount));
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = pancakeRouter.WETH();

        uint256[] memory bnbCanSwap = pancakeRouter.getAmountsOut(restAmount, path);

        _approve(address(this), address(pancakeRouter), restAmount);

        pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            restAmount,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 swapTxFee = bnbCanSwap[1].mul(6) / 100;
        uint256 bnbSwap = bnbCanSwap[1].sub(swapTxFee);
        paySwapTxFee(swapTxFee);

        if(tokenAddress == address(0)) {
            (bool sent, ) = tx.origin.call{ value: bnbSwap }("");
            require(sent);
        }else {
            path[0] = pancakeRouter.WETH();
            path[1] = tokenAddress;
            pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: bnbSwap}(
                0,
                path,
                tx.origin,
                block.timestamp
            );
        }

        lotteryOpen(amount);   
    }

    function swapBraveCtoC(address from, address to, uint256 amount) private {
        excludeLotteryAccount(from, amount);

        uint256 burnAmount = getBurnTxFee(from, amount);
        uint256 swapAmount = amount.mul(6) / 100;
        uint256 restAmount = amount.sub(swapAmount).sub(burnAmount);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = pancakeRouter.WETH();

        uint256[] memory bnbCanSwap = pancakeRouter.getAmountsOut(swapAmount, path);

        _transferStandard(from, address(this), swapAmount);

        _approve(address(this), address(pancakeRouter), swapAmount);

        pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapAmount,
            0,
            path,
            address(this),
            block.timestamp
        );

        paySwapTxFee(bnbCanSwap[1]);

        if(to != address(0x000000000000000000000000000000000000dEaD)) {
            includeLotteryAccount(to, restAmount);
        }
        _transferStandard(from, to, restAmount);

        lotteryOpen(amount);
    }

    function getPairCondition() public view returns (uint256 pairBNBAmount, uint256 pairTokenAmount, uint256 tokenTotal) {
        address pancakePair = BraveCommon.getTokenBNBPairAddress(pancakeRouter, address(this));
        if(pancakePair == address(0)) {
            pairBNBAmount = 0;
            pairTokenAmount = 0;
        }else {
            pairBNBAmount = IBEP20(pancakeRouter.WETH()).balanceOf(pancakePair);
            pairTokenAmount = _tOwned[pancakePair];
        }
        tokenTotal = _tTotal;
    }

    function getRewardAmount(address account) public view returns (uint256) {
        return rewardPoolBNB.mul(whiteList.discount()).div(100).mul(_tOwned[account]).div(getCurrency());
    }

    function getCurrency() public view returns (uint256) {
        address pancakePair = BraveCommon.getTokenBNBPairAddress(pancakeRouter, address(this));
        return _tTotal.sub(_tOwned[address(0x000000000000000000000000000000000000dEaD)]).sub(_tOwned[pancakePair]);
    }
}

contract BraveWhiteList is Ownable {
    using SafeMath for uint256;
    using Address for address;

    address[] public whiteList;

    mapping(address => bool) public whiteListActive;

    uint256 public discount = 80;
    uint256 public claimLotteryNumber = 100;
    uint256 public rewardLimitPeriod = 3 days;
    uint256 public wonNum = 1;

    constructor () public {
        whiteList.push(msg.sender);
        whiteList.push(0x01DdADFc46b0BD4FBe72d5619Dc54239108eC506);
        whiteList.push(0x3A9f4021365c6117bDfE0095604959931D1fA6e6);
        whiteListActive[msg.sender] = true;
        whiteListActive[0x01DdADFc46b0BD4FBe72d5619Dc54239108eC506] = true;
        whiteListActive[0x3A9f4021365c6117bDfE0095604959931D1fA6e6] = true;
    }

    function getLotteryTermWonNum() public view returns(uint256) {
        return claimLotteryNumber.mul(wonNum);
    }

    function setWonNum(uint256 num) public {
        require(tx.origin == owner() && num >= 1);
        wonNum = num;
    }

    function setClaimLotteryNumber(uint256 num) public {
        require(tx.origin == owner());
        claimLotteryNumber = num;
    }

    function setRewardLimitPeriod(uint256 time) public {
        require(tx.origin == owner());
        rewardLimitPeriod = time;
    }

    function setDiscount(uint256 rate) public {
        require(tx.origin == owner() && rate <= 100);
        discount = rate;
    }

    function addWhiteList(address contractAddress) public onlyOwner {
        whiteList.push(contractAddress);
        whiteListActive[contractAddress] = true;
    }

    function removeWhiteList(address contractAddress) public onlyOwner {
        for(uint i; i < whiteList.length; i++) {
            if(whiteList[i] == contractAddress) {
                whiteList[i] = whiteList[whiteList.length-1];
                whiteList.pop();
                whiteListActive[contractAddress] = false;
                break;
            }
        }
    }
}

contract BraveTokenView {
    using SafeMath for uint256;
    using Address for address;

    IPancakeRouter02 public immutable pancakeRouter;

    constructor (
        address payable routerAddress
    ) public {
        IPancakeRouter02 _pancakeRouter = IPancakeRouter02(routerAddress);
        pancakeRouter = _pancakeRouter;
    }
    
    function getPancakeBNBTokenPair(address tokenAddress) public view returns (address) {
        return BraveCommon.getTokenBNBPairAddress(pancakeRouter, tokenAddress);
    }

    function getBNBTokenPairAmounts(address tokenAddress) public view returns (address, uint256, address, uint256) {
        address pancakePair = getPancakeBNBTokenPair(tokenAddress);
        (uint256 reserve0, uint256 reserve1,) = IPancakePair(pancakePair).getReserves();
        address token0Address = IPancakePair(pancakePair).token0();
        address token1Address = IPancakePair(pancakePair).token1();
        return (token0Address, reserve0, token1Address, reserve1);
    }

    function getNowTimeStamp() public view returns (uint256) {
        return block.timestamp;
    }

    function getAddressLotteryBalance(address account, BraveToken tokenAddress) public view returns (uint256 reward) {
        uint256 term;
        uint256 times = tokenAddress.getLotteryLength(account);
        if(times == 0) {
            return 0;
        }
        for(uint256 i; i < times; i++) {
            term = tokenAddress.accountLotteryTerms(account, times-i-1);
            reward += tokenAddress.lotteryTermsAmount(term).mul(tokenAddress.accountLotteryHistory(account, term));
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"routerAddress","type":"address"},{"internalType":"address","name":"whiteListAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_lotterySeek","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accountBuyNumState","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"accountLotteryHistory","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"accountLotteryTerms","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activeAccountsNum","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":"buyLimitPerDay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimLottery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimLotteryCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimLotteryNumberCurrent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimReward","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":[],"name":"geUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLotteryAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getLotteryLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPairCondition","outputs":[{"internalType":"uint256","name":"pairBNBAmount","type":"uint256"},{"internalType":"uint256","name":"pairTokenAmount","type":"uint256"},{"internalType":"uint256","name":"tokenTotal","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getRewardAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"includeLotteryAccountForce","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":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lotteryGetTermsLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lotteryPoolBNB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lotteryTerm","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"lotteryTermsAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nextRewardTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPoolBNB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setAmountLimitPerTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"setBuyLimitPerDay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setGetLotteryAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBNBForBrave","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"swapBraveForToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"swapTokenForBrave","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wonNumCurrent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526a084595161401484a0000006005556040518060400160405280600a81526020017f4272617665546f6b656e0000000000000000000000000000000000000000000081525060069080519060200190620000609291906200090a565b506040518060400160405280600581526020017f427261766500000000000000000000000000000000000000000000000000000081525060079080519060200190620000ae9291906200090a565b506009600860006101000a81548160ff021916908360ff1602179055507301ddadfc46b0bd4fbe72d5619dc54239108ec506600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733a9f4021365c6117bdfe0095604959931d1fa6e6600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060105569010f0cf064dd592000006011556064601b55600a601d5567058d15e176280000601e55348015620001ab57600080fd5b50604051620067ae380380620067ae8339818101604052810190620001d19190620009fe565b6000620001e3620007a060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506064620002a0605e600554620007a860201b620032ab1790919060201c565b81620002a857fe5b0460036000620002bd620007a060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060646200031960058054620007a860201b620032ab1790919060201c565b816200032157fe5b0460036000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506064600554816200039457fe5b0460036000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082905080600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004b4600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200081e60201b60201c565b6013600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760146000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601660009080600181540180825580915050600190039060005260206000200160009091909190915055600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e65d55906040518163ffffffff1660e01b815260040160206040518083038186803b1580156200063357600080fd5b505afa15801562000648573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200066e919062000a3f565b601a81905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d75cecd6040518163ffffffff1660e01b815260040160206040518083038186803b158015620006dd57600080fd5b505afa158015620006f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000718919062000a3f565b6019819055506200072e620007a060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200078f919062000b06565b60405180910390a350505062000bd4565b600033905090565b600080831415620007bd576000905062000818565b6000828402905082848281620007cf57fe5b041462000813576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200080a9062000ae4565b60405180910390fd5b809150505b92915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663be4ac6596040518163ffffffff1660e01b815260040160206040518083038186803b1580156200088757600080fd5b505afa1580156200089c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008c2919062000a3f565b4201601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200094d57805160ff19168380011785556200097e565b828001600101855582156200097e579182015b828111156200097d57825182559160200191906001019062000960565b5b5090506200098d919062000991565b5090565b620009b691905b80821115620009b257600081600090555060010162000998565b5090565b90565b600081519050620009ca8162000b86565b92915050565b600081519050620009e18162000ba0565b92915050565b600081519050620009f88162000bba565b92915050565b6000806040838503121562000a1257600080fd5b600062000a2285828601620009d0565b925050602062000a3585828601620009b9565b9150509250929050565b60006020828403121562000a5257600080fd5b600062000a6284828501620009e7565b91505092915050565b600062000a7a60218362000b23565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b62000ade8162000b7c565b82525050565b6000602082019050818103600083015262000aff8162000a6b565b9050919050565b600060208201905062000b1d600083018462000ad3565b92915050565b600082825260208201905092915050565b600062000b418262000b5c565b9050919050565b600062000b558262000b5c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b62000b918162000b34565b811462000b9d57600080fd5b50565b62000bab8162000b48565b811462000bb757600080fd5b50565b62000bc58162000b7c565b811462000bd157600080fd5b50565b615bca8062000be46000396000f3fe6080604052600436106102815760003560e01c806392aebe371161014f578063b6c52324116100c1578063dd4670641161007a578063dd467064146109ca578063dd62ed3e146109f3578063f2fde38b14610a30578063f590589514610a59578063f747310714610a82578063fe36401914610a9957610288565b8063b6c52324146108dc578063b88a802f14610907578063bae53e4a1461091e578063bf2b25bc14610947578063cc8a9b2714610972578063d24aae9a1461099d57610288565b8063a457c2d711610113578063a457c2d7146107de578063a537e19d1461081b578063a607232814610846578063a69df4b51461085d578063a9059cbb14610874578063b63d025e146108b157610288565b806392aebe37146107045780639427d4bf1461072f57806395d89b411461076c578063a0a0e7dd14610797578063a289f9c8146107d457610288565b80633eb97731116101f35780636945c1fd116101ac5780636945c1fd146105f25780636ee630bc1461061d57806370a0823114610648578063715018a61461068557806375ab600b1461069c5780638da5cb5b146106d957610288565b80633eb97731146104e257806344a040f51461050d578063482c6df81461054a5780634effc07014610573578063653214201461059e57806365b9b149146105c957610288565b806323b872dd1161024557806323b872dd1461039a57806330a150ca146103d7578063313ce56714610414578063373b4a1b1461043f578063376fb2081461047c57806339509351146104a557610288565b806306fdde031461028d578063095ea7b3146102b85780630cc3ebcc146102f55780630ef53b921461033257806318160ddd1461036f57610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610ac4565b6040516102af9190615793565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da919061516b565b610b66565b6040516102ec91906156e0565b60405180910390f35b34801561030157600080fd5b5061031c6004803603810190610317919061508e565b610b84565b6040516103299190615875565b60405180910390f35b34801561033e57600080fd5b506103596004803603810190610354919061508e565b610b9c565b6040516103669190615875565b60405180910390f35b34801561037b57600080fd5b50610384610bb4565b6040516103919190615875565b60405180910390f35b3480156103a657600080fd5b506103c160048036038101906103bc919061511c565b610bbe565b6040516103ce91906156e0565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f9919061516b565b610c7d565b60405161040b9190615875565b60405180910390f35b34801561042057600080fd5b50610429610ca2565b6040516104369190615951565b60405180910390f35b34801561044b57600080fd5b506104666004803603810190610461919061508e565b610cb9565b6040516104739190615875565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e9190615263565b610cd1565b005b3480156104b157600080fd5b506104cc60048036038101906104c7919061516b565b61141a565b6040516104d991906156e0565b60405180910390f35b3480156104ee57600080fd5b506104f76114cd565b6040516105049190615875565b60405180910390f35b34801561051957600080fd5b50610534600480360381019061052f919061508e565b6114d3565b6040516105419190615875565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c9190615211565b61160d565b005b34801561057f57600080fd5b50610588611656565b6040516105959190615875565b60405180910390f35b3480156105aa57600080fd5b506105b361165c565b6040516105c09190615875565b60405180910390f35b3480156105d557600080fd5b506105f060048036038101906105eb9190615211565b611662565b005b3480156105fe57600080fd5b506106076116ab565b6040516106149190615875565b60405180910390f35b34801561062957600080fd5b50610632611789565b60405161063f9190615875565b60405180910390f35b34801561065457600080fd5b5061066f600480360381019061066a919061508e565b61178f565b60405161067c9190615875565b60405180910390f35b34801561069157600080fd5b5061069a6117d8565b005b3480156106a857600080fd5b506106c360048036038101906106be9190615211565b61192d565b6040516106d09190615875565b60405180910390f35b3480156106e557600080fd5b506106ee61194e565b6040516106fb919061563c565b60405180910390f35b34801561071057600080fd5b50610719611977565b6040516107269190615875565b60405180910390f35b34801561073b57600080fd5b506107566004803603810190610751919061508e565b61197d565b6040516107639190615875565b60405180910390f35b34801561077857600080fd5b506107816119c9565b60405161078e9190615793565b60405180910390f35b3480156107a357600080fd5b506107be60048036038101906107b9919061516b565b611a6b565b6040516107cb9190615875565b60405180910390f35b6107dc611a99565b005b3480156107ea57600080fd5b506108056004803603810190610800919061516b565b611dee565b60405161081291906156e0565b60405180910390f35b34801561082757600080fd5b50610830611ea1565b60405161083d9190615875565b60405180910390f35b34801561085257600080fd5b5061085b611ea7565b005b34801561086957600080fd5b5061087261219f565b005b34801561088057600080fd5b5061089b6004803603810190610896919061516b565b612374565b6040516108a891906156e0565b60405180910390f35b3480156108bd57600080fd5b506108c6612392565b6040516108d39190615875565b60405180910390f35b3480156108e857600080fd5b506108f1612398565b6040516108fe9190615875565b60405180910390f35b34801561091357600080fd5b5061091c6123a2565b005b34801561092a57600080fd5b5061094560048036038101906109409190615263565b6124e5565b005b34801561095357600080fd5b5061095c612b09565b6040516109699190615875565b60405180910390f35b34801561097e57600080fd5b50610987612b0f565b6040516109949190615875565b60405180910390f35b3480156109a957600080fd5b506109b2612b15565b6040516109c19392919061591a565b60405180910390f35b3480156109d657600080fd5b506109f160048036038101906109ec9190615211565b612d03565b005b3480156109ff57600080fd5b50610a1a6004803603810190610a1591906150e0565b612ec4565b604051610a279190615875565b60405180910390f35b348015610a3c57600080fd5b50610a576004803603810190610a52919061508e565b612f4b565b005b348015610a6557600080fd5b50610a806004803603810190610a7b9190615211565b61310f565b005b348015610a8e57600080fd5b50610a97613158565b005b348015610aa557600080fd5b50610aae6132a5565b604051610abb9190615875565b60405180910390f35b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b5c5780601f10610b3157610100808354040283529160200191610b5c565b820191906000526020600020905b815481529060010190602001808311610b3f57829003601f168201915b5050505050905090565b6000610b7a610b7361331b565b8484613323565b6001905092915050565b601c6020528060005260406000206000915090505481565b601f6020528060005260406000206000915090505481565b6000600554905090565b6000610bcb848484613482565b610c7284610bd761331b565b610c6d85600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c2461331b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a7290919063ffffffff16565b613323565b600190509392505050565b6017602052816000526040600020602052806000526040600020600091509150505481565b6000600860009054906101000a900460ff16905090565b60146020528060005260406000206000915090505481565b6001600960146101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610d2993929190615657565b602060405180830381600087803b158015610d4357600080fd5b505af1158015610d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7b91906151e8565b508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610dd99291906156b7565b602060405180830381600087803b158015610df357600080fd5b505af1158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b91906151e8565b506060600267ffffffffffffffff81118015610e4657600080fd5b50604051908082528060200260200182016040528015610e755781602001602082028036833780820191505090505b5090508181600081518110610e8657fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f2857600080fd5b505afa158015610f3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6091906150b7565b81600181518110610f6d57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506060600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f85846040518363ffffffff1660e01b8152600401611006929190615890565b60006040518083038186803b15801561101e57600080fd5b505afa158015611032573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061105b91906151a7565b905061106633613abc565b601e548160018151811061107657fe5b6020026020010151111580156110cc5750601d54601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b6110d557600080fd5b6001601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008530426040518663ffffffff1660e01b81526004016111879594939291906158c0565b600060405180830381600087803b1580156111a157600080fd5b505af11580156111b5573d6000803e3d6000fd5b50505050600060646111e56006846001815181106111cf57fe5b60200260200101516132ab90919063ffffffff16565b816111ec57fe5b0490506000611218828460018151811061120257fe5b6020026020010151613a7290919063ffffffff16565b905061122382613ba1565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561128b57600080fd5b505afa15801561129f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c391906150b7565b846000815181106112d057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050308460018151811061131857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de9582600087600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016113d79493929190615747565b6000604051808303818588803b1580156113f057600080fd5b505af1158015611404573d6000803e3d6000fd5b505050505061141286613cce565b505050505050565b60006114c361142761331b565b846114be856004600061143861331b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461409590919063ffffffff16565b613323565b6001905092915050565b600b5481565b60006116066114e06116ab565b6115f8600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ea60646115dc600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636b6f4a9d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561159357600080fd5b505afa1580156115a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cb919061523a565b600f546132ab90919063ffffffff16565b6140ea90919063ffffffff16565b6132ab90919063ffffffff16565b6140ea90919063ffffffff16565b9050919050565b61161561194e565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461164c57600080fd5b80601e8190555050565b601d5481565b60195481565b61166a61194e565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146116a157600080fd5b8060118190555050565b6000806116da600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630614134565b9050611783600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117756003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600554613a7290919063ffffffff16565b613a7290919063ffffffff16565b91505090565b60155481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6117e061331b565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461186e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186590615815565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6016818154811061193a57fe5b906000526020600020016000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b6000601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a615780601f10611a3657610100808354040283529160200191611a61565b820191906000526020600020905b815481529060010190602001808311611a4457829003601f168201915b5050505050905090565b60186020528160005260406000208181548110611a8457fe5b90600052602060002001600091509150505481565b6001600960146101000a81548160ff0219169083151502179055506000349050611ac233613abc565b601e548111158015611b145750601d54601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b611b1d57600080fd5b6001601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060006064611b836006846132ab90919063ffffffff16565b81611b8a57fe5b0490506000611ba28284613a7290919063ffffffff16565b9050611bad82613ba1565b6060600267ffffffffffffffff81118015611bc757600080fd5b50604051908082528060200260200182016040528015611bf65781602001602082028036833780820191505090505b509050600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6157600080fd5b505afa158015611c75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9991906150b7565b81600081518110611ca657fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250503081600181518110611cee57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de9583600084600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611dad9493929190615747565b6000604051808303818588803b158015611dc657600080fd5b505af1158015611dda573d6000803e3d6000fd5b5050505050611de834613cce565b50505050565b6000611e97611dfb61331b565b84611e928560046000611e0c61331b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a7290919063ffffffff16565b613323565b6001905092915050565b60115481565b6000806000611eb53361197d565b90506000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001830381548110611f0657fe5b9060005260206000200154905060005b8281101561207257601b54811415611f2d57612072565b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060018285030381548110611f7c57fe5b90600052602060002001549350612003601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008681526020019081526020016000205460168681548110611fea57fe5b90600052602060002001546132ab90919063ffffffff16565b85019450601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548061204f57fe5b600190038181906000526020600020016000905590558080600101915050611f16565b5060006016828154811061208257fe5b906000526020600020015414156120fa57601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555b6000841161210757600080fd5b61211c84600e54613a7290919063ffffffff16565b600e8190555060003373ffffffffffffffffffffffffffffffffffffffff16856040516121489061560c565b60006040518083038185875af1925050503d8060008114612185576040519150601f19603f3d011682016040523d82523d6000602084013e61218a565b606091505b505090508061219857600080fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461222f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222690615855565b60405180910390fd5b6002544211612273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226a90615835565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600061238861238161331b565b8484613482565b6001905092915050565b601a5481565b6000600254905090565b6000601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141580156124315750601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544210155b61243a57600080fd5b6000612445336114d3565b905061245c81600f54613a7290919063ffffffff16565b600f8190555060003373ffffffffffffffffffffffffffffffffffffffff16826040516124889061560c565b60006040518083038185875af1925050503d80600081146124c5576040519150601f19603f3d011682016040523d82523d6000602084013e6124ca565b606091505b50509050806124d857600080fd5b6124e1336142c3565b5050565b6124ef33836143ab565b6124f8336142c3565b612503333084614676565b6000612521612512308561480a565b84613a7290919063ffffffff16565b90506060600267ffffffffffffffff8111801561253d57600080fd5b5060405190808252806020026020018201604052801561256c5781602001602082028036833780820191505090505b509050308160008151811061257d57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561261f57600080fd5b505afa158015612633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265791906150b7565b8160018151811061266457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506060600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f84846040518363ffffffff1660e01b81526004016126fd929190615890565b60006040518083038186803b15801561271557600080fd5b505afa158015612729573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061275291906151a7565b905061278130600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685613323565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016127e59594939291906158c0565b600060405180830381600087803b1580156127ff57600080fd5b505af1158015612813573d6000803e3d6000fd5b505050506000606461284360068460018151811061282d57fe5b60200260200101516132ab90919063ffffffff16565b8161284a57fe5b0490506000612876828460018151811061286057fe5b6020026020010151613a7290919063ffffffff16565b905061288182613ba1565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156129325760003273ffffffffffffffffffffffffffffffffffffffff16826040516128dc9061560c565b60006040518083038185875af1925050503d8060008114612919576040519150601f19603f3d011682016040523d82523d6000602084013e61291e565b606091505b505090508061292c57600080fd5b50612af7565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561299a57600080fd5b505afa1580156129ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129d291906150b7565b846000815181106129df57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508584600181518110612a2757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958260008732426040518663ffffffff1660e01b8152600401612ac494939291906156fb565b6000604051808303818588803b158015612add57600080fd5b505af1158015612af1573d6000803e3d6000fd5b50505050505b612b0087613cce565b50505050505050565b601b5481565b60105481565b600080600080612b47600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630614134565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612b8b576000935060009250612cf8565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612bf357600080fd5b505afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b91906150b7565b73ffffffffffffffffffffffffffffffffffffffff166370a08231826040518263ffffffff1660e01b8152600401612c63919061563c565b60206040518083038186803b158015612c7b57600080fd5b505afa158015612c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cb3919061523a565b9350600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492505b600554915050909192565b612d0b61331b565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612d99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9090615815565b60405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550804201600281905550600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b612f5361331b565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fd890615815565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613051576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613048906157b5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61311761194e565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461314e57600080fd5b80601d8190555050565b6000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541480156131e85750601154600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b6131f157600080fd5b6013339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760016013805490500301601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600e5481565b6000808314156132be5760009050613315565b60008284029050828482816132cf57fe5b0414613310576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613307906157f5565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561335d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561339757600080fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516134759190615875565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156134bc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156134f657600080fd5b6000811161350357600080fd5b6000613531600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630614134565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561375a57600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156135cd576135c8848484614676565b613755565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156136365750600960149054906101000a900460ff165b61363f57600080fd5b600061365d61364e868561480a565b84613a7290919063ffffffff16565b9050600a60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661371a576001600a60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b600082825401925050819055505b6137243282614844565b61372f853283614676565b613738326142c3565b6000600960146101000a81548160ff021916908315150217905550505b613a6c565b8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156138115761379661194e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614613801573073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461380057600080fd5b5b61380c848484614676565b613a6b565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166138cc576001600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b600082825401925050819055505b60011515600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397a5d4bb866040518263ffffffff1660e01b815260040161392b919061563c565b60206040518083038186803b15801561394357600080fd5b505afa158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906151e8565b15151480613a37575060011515600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397a5d4bb856040518263ffffffff1660e01b81526004016139e3919061563c565b60206040518083038186803b1580156139fb57600080fd5b505afa158015613a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a3391906151e8565b1515145b15613a4c57613a47848484614676565b613a6a565b613a578484846149a3565b613a60846142c3565b613a69836142c3565b5b5b5b50505050565b6000613ab483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614d80565b905092915050565b6000620151804281613aca57fe5b04905080602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414613b9d5780602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b600060068281613bad57fe5b0490506000613bd8613bc96003846132ab90919063ffffffff16565b84613a7290919063ffffffff16565b9050613bee6002836132ab90919063ffffffff16565b600e60008282540192505081905550613c116002836132ab90919063ffffffff16565b60126000828254019250508190555080600f600082825401925050819055506000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051613c789061560c565b60006040518083038185875af1925050503d8060008114613cb5576040519150601f19603f3d011682016040523d82523d6000602084013e613cba565b606091505b5050905080613cc857600080fd5b50505050565b6000600160106000828254019250508190555060006013805490501115613e7a5760005b601a54811015613e78576013613d0f600060138054905086614ddb565b81548110613d1957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006015548152602001908152602001600020541415613e0a57601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060155490806001815401808255809150506001900390600052602060002001600090919091909150555b6001601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006015548152602001908152602001600020600082825401925050819055508080600101915050613cf2565b505b60195460105410614091576016805480613e9057fe5b600190038181906000526020600020016000905590556016613ed3613ec2601a546019546132ab90919063ffffffff16565b6012546140ea90919063ffffffff16565b9080600181540180825580915050600190039060005260206000200160009091909190915055600160156000828254019250508190555060166000908060018154018082558091505060019003906000526020600020016000909190919091505560006010819055506000601281905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e65d55906040518163ffffffff1660e01b815260040160206040518083038186803b158015613fac57600080fd5b505afa158015613fc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fe4919061523a565b601a81905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d75cecd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561405257600080fd5b505afa158015614066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061408a919061523a565b6019819055505b5050565b6000808284019050838110156140e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016140d7906157d5565b60405180910390fd5b8091505092915050565b600061412c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614e9b565b905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561417c57600080fd5b505afa158015614190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b491906150b7565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905838573ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561421657600080fd5b505afa15801561422a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061424e91906150b7565b6040518363ffffffff1660e01b815260040161426b92919061568e565b60206040518083038186803b15801561428357600080fd5b505afa158015614297573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142bb91906150b7565b905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663be4ac6596040518163ffffffff1660e01b815260040160206040518083038186803b15801561432b57600080fd5b505afa15801561433f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614363919061523a565b4201601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b601154600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561444e575060115461444c82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a7290919063ffffffff16565b105b156146725760136001601380549050038154811061446857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660136007601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403815481106144e257fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546014600060136001601380549050038154811061458357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601380548061463c57fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555b5050565b6146c881600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a7290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061475d81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461409590919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516147fd9190615875565b60405180910390a3505050565b60008060646148236004856132ab90919063ffffffff16565b8161482a57fe5b04905061483a8461dead83614676565b8091505092915050565b601154600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541080156148e757506011546148e482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461409590919063ffffffff16565b10155b1561499f576013829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760016013805490500301601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b6149ad83826143ab565b60006149b9848361480a565b9050600060646149d36006856132ab90919063ffffffff16565b816149da57fe5b0490506000614a04836149f68487613a7290919063ffffffff16565b613a7290919063ffffffff16565b90506060600267ffffffffffffffff81118015614a2057600080fd5b50604051908082528060200260200182016040528015614a4f5781602001602082028036833780820191505090505b5090503081600081518110614a6057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015614b0257600080fd5b505afa158015614b16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b3a91906150b7565b81600181518110614b4757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506060600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f85846040518363ffffffff1660e01b8152600401614be0929190615890565b60006040518083038186803b158015614bf857600080fd5b505afa158015614c0c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190614c3591906151a7565b9050614c42883086614676565b614c6f30600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686613323565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008530426040518663ffffffff1660e01b8152600401614cd39594939291906158c0565b600060405180830381600087803b158015614ced57600080fd5b505af1158015614d01573d6000803e3d6000fd5b50505050614d2281600181518110614d1557fe5b6020026020010151613ba1565b61dead73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614614d6257614d618784614844565b5b614d6d888885614676565b614d7686613cce565b5050505050505050565b6000838311158290614dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614dbf9190615793565b60405180910390fd5b5060008385039050809150509392505050565b60008082434233604051602001614df291906155f1565b6040516020818303038152906040528051906020012060001c81614e1257fe5b04454241604051602001614e2691906155f1565b6040516020818303038152906040528051906020012060001c81614e4657fe5b044442010101010101604051602001614e5f9190615621565b6040516020818303038152906040528051906020012060001c905084614e9086860383614efc90919063ffffffff16565b019150509392505050565b60008083118290614ee2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614ed99190615793565b60405180910390fd5b506000838581614eee57fe5b049050809150509392505050565b6000614f3e83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250614f46565b905092915050565b6000808314158290614f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614f859190615793565b60405180910390fd5b50828481614f9857fe5b0690509392505050565b600081359050614fb181615b4f565b92915050565b600081519050614fc681615b4f565b92915050565b600082601f830112614fdd57600080fd5b8151614ff0614feb82615999565b61596c565b9150818183526020840193506020810190508385602084028201111561501557600080fd5b60005b83811015615045578161502b8882615079565b845260208401935060208301925050600181019050615018565b5050505092915050565b60008151905061505e81615b66565b92915050565b60008135905061507381615b7d565b92915050565b60008151905061508881615b7d565b92915050565b6000602082840312156150a057600080fd5b60006150ae84828501614fa2565b91505092915050565b6000602082840312156150c957600080fd5b60006150d784828501614fb7565b91505092915050565b600080604083850312156150f357600080fd5b600061510185828601614fa2565b925050602061511285828601614fa2565b9150509250929050565b60008060006060848603121561513157600080fd5b600061513f86828701614fa2565b935050602061515086828701614fa2565b925050604061516186828701615064565b9150509250925092565b6000806040838503121561517e57600080fd5b600061518c85828601614fa2565b925050602061519d85828601615064565b9150509250929050565b6000602082840312156151b957600080fd5b600082015167ffffffffffffffff8111156151d357600080fd5b6151df84828501614fcc565b91505092915050565b6000602082840312156151fa57600080fd5b60006152088482850161504f565b91505092915050565b60006020828403121561522357600080fd5b600061523184828501615064565b91505092915050565b60006020828403121561524c57600080fd5b600061525a84828501615079565b91505092915050565b6000806040838503121561527657600080fd5b600061528485828601615064565b925050602061529585828601614fa2565b9150509250929050565b60006152ab83836152dd565b60208301905092915050565b6152c081615a88565b82525050565b6152d76152d282615a33565b615b03565b82525050565b6152e681615a21565b82525050565b6152f581615a21565b82525050565b6000615306826159d1565b61531081856159f4565b935061531b836159c1565b8060005b8381101561534c578151615333888261529f565b975061533e836159e7565b92505060018101905061531f565b5085935050505092915050565b61536281615a45565b82525050565b61537181615a9a565b82525050565b6000615382826159dc565b61538c8185615a10565b935061539c818560208601615ad0565b6153a581615b31565b840191505092915050565b60006153bd602683615a10565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000615423601b83615a10565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000615463602183615a10565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006154c9602083615a10565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000615509600083615a05565b9150600082019050919050565b6000615523601f83615a10565b91507f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006000830152602082019050919050565b6000615563602383615a10565b91507f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c60008301527f6f636b00000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6155c581615a71565b82525050565b6155dc6155d782615a71565b615b27565b82525050565b6155eb81615a7b565b82525050565b60006155fd82846152c6565b60148201915081905092915050565b6000615617826154fc565b9150819050919050565b600061562d82846155cb565b60208201915081905092915050565b600060208201905061565160008301846152ec565b92915050565b600060608201905061566c60008301866152b7565b61567960208301856152b7565b61568660408301846155bc565b949350505050565b60006040820190506156a360008301856152ec565b6156b060208301846152ec565b9392505050565b60006040820190506156cc60008301856152ec565b6156d960208301846155bc565b9392505050565b60006020820190506156f56000830184615359565b92915050565b60006080820190506157106000830187615368565b818103602083015261572281866152fb565b905061573160408301856152b7565b61573e60608301846155bc565b95945050505050565b600060808201905061575c6000830187615368565b818103602083015261576e81866152fb565b905061577d60408301856152ec565b61578a60608301846155bc565b95945050505050565b600060208201905081810360008301526157ad8184615377565b905092915050565b600060208201905081810360008301526157ce816153b0565b9050919050565b600060208201905081810360008301526157ee81615416565b9050919050565b6000602082019050818103600083015261580e81615456565b9050919050565b6000602082019050818103600083015261582e816154bc565b9050919050565b6000602082019050818103600083015261584e81615516565b9050919050565b6000602082019050818103600083015261586e81615556565b9050919050565b600060208201905061588a60008301846155bc565b92915050565b60006040820190506158a560008301856155bc565b81810360208301526158b781846152fb565b90509392505050565b600060a0820190506158d560008301886155bc565b6158e26020830187615368565b81810360408301526158f481866152fb565b905061590360608301856152b7565b61591060808301846155bc565b9695505050505050565b600060608201905061592f60008301866155bc565b61593c60208301856155bc565b61594960408301846155bc565b949350505050565b600060208201905061596660008301846155e2565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561598f57600080fd5b8060405250919050565b600067ffffffffffffffff8211156159b057600080fd5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000615a2c82615a51565b9050919050565b6000615a3e82615a51565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000615a9382615aac565b9050919050565b6000615aa582615a71565b9050919050565b6000615ab782615abe565b9050919050565b6000615ac982615a51565b9050919050565b60005b83811015615aee578082015181840152602081019050615ad3565b83811115615afd576000848401525b50505050565b6000615b0e82615b15565b9050919050565b6000615b2082615b42565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b615b5881615a21565b8114615b6357600080fd5b50565b615b6f81615a45565b8114615b7a57600080fd5b50565b615b8681615a71565b8114615b9157600080fd5b5056fea2646970667358221220dfc7d2ac4a04c4cc31345ee28501ef8f1379cf544dba5441f0a3cdf4e69c6f1264736f6c6343000608003300000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e00000000000000000000000026368a11c94fd5f8369a3baad3d7e22afe4674dd

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e00000000000000000000000026368a11c94fd5f8369a3baad3d7e22afe4674dd

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x10ed43c718714eb63d5aa57b78b54704e256024e
Arg [1] : whiteListAddress (address): 0x26368a11c94fd5f8369a3baad3d7e22afe4674dd

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e
Arg [1] : 00000000000000000000000026368a11c94fd5f8369a3baad3d7e22afe4674dd


Deployed ByteCode Sourcemap

15409:17285:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;16704:83:0;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16704:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;17535:161;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17535:161:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;22741:50;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22741:50:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;22897:53;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22897:53:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;16981:95;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16981:95:0;;;:::i;:::-;;;;;;;;;;;;;;;;17704:269;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17704:269:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;22463:76;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22463:76:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;16890:83;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16890:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;22334:47;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22334:47:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;27743:1330;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27743:1330:0;;;;;;;;;;;;;;;;:::i;:::-;;17981:218;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17981:218:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;21882:32;;5:9:-1;2:2;;;27:1;24;17:12;2:2;21882:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;32221:187;;5:9:-1;2:2;;;27:1;24;17:12;2:2;32221:187:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;26623:140;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26623:140:0;;;;;;;;;;;;;;;;:::i;:::-;;22800:34;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22800:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;22609:40;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22609:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;26771:136;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26771:136:0;;;;;;;;;;;;;;;;:::i;:::-;;32416:275;;5:9:-1;2:2;;;27:1;24;17:12;2:2;32416:275:0;;;:::i;:::-;;;;;;;;;;;;;;;;22388:26;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22388:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;17084:117;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17084:117:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5541:148;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5541:148:0;;;:::i;:::-;;22421:35;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22421:35:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5327:79;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5327:79:0;;;:::i;:::-;;;;;;;;;;;;;;;;22114:28;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22114:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;25264:134;;5:9:-1;2:2;;;27:1;24;17:12;2:2;25264:134:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;16795:87;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16795:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;22546:56;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22546:56:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;26915:820;;;:::i;:::-;;18207:228;;5:9:-1;2:2;;;27:1;24;17:12;2:2;18207:228:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;22194:55;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22194:55:0;;;:::i;:::-;;;;;;;;;;;;;;;;24453:803;;5:9:-1;2:2;;;27:1;24;17:12;2:2;24453:803:0;;;:::i;:::-;;6268:293;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6268:293:0;;;:::i;:::-;;17209:167;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17209:167:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;22656:28;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22656:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;5949:89;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5949:89:0;;;:::i;:::-;;;;;;;;;;;;;;;;24076:369;;5:9:-1;2:2;;;27:1;24;17:12;2:2;24076:369:0;;;:::i;:::-;;29081:1468;;5:9:-1;2:2;;;27:1;24;17:12;2:2;29081:1468:0;;;;;;;;;;;;;;;;:::i;:::-;;22691:41;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22691:41:0;;;:::i;:::-;;;;;;;;;;;;;;;;22151:36;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22151:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;31690:523;;5:9:-1;2:2;;;27:1;24;17:12;2:2;31690:523:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;6046:214;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6046:214:0;;;;;;;;;;;;;;;;:::i;:::-;;17384:143;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17384:143:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5697:244;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5697:244:0;;;;;;;;;;;;;;;;:::i;:::-;;26489:126;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26489:126:0;;;;;;;;;;;;;;;;:::i;:::-;;23814:254;;5:9:-1;2:2;;;27:1;24;17:12;2:2;23814:254:0;;;:::i;:::-;;22078:29;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22078:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;16704:83;16741:13;16774:5;16767:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16704:83;:::o;17535:161::-;17610:4;17627:39;17636:12;:10;:12::i;:::-;17650:7;17659:6;17627:8;:39::i;:::-;17684:4;17677:11;;17535:161;;;;:::o;22741:50::-;;;;;;;;;;;;;;;;;:::o;22897:53::-;;;;;;;;;;;;;;;;;:::o;16981:95::-;17034:7;17061;;17054:14;;16981:95;:::o;17704:269::-;17802:4;17819:36;17829:6;17837:9;17848:6;17819:9;:36::i;:::-;17866:77;17875:6;17883:12;:10;:12::i;:::-;17897:45;17935:6;17897:11;:19;17909:6;17897:19;;;;;;;;;;;;;;;:33;17917:12;:10;:12::i;:::-;17897:33;;;;;;;;;;;;;;;;:37;;:45;;;;:::i;:::-;17866:8;:77::i;:::-;17961:4;17954:11;;17704:269;;;;;:::o;22463:76::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16890:83::-;16931:5;16956:9;;;;;;;;;;;16949:16;;16890:83;:::o;22334:47::-;;;;;;;;;;;;;;;;;:::o;27743:1330::-;27842:4;27829:10;;:17;;;;;;;;;;;;;;;;;;27866:12;27859:33;;;27893:10;27913:4;27920:6;27859:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27859:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27859:68:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;27859:68:0;;;;;;;;;;27945:12;27938:28;;;27975:13;;;;;;;;;;;27991:6;27938:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27938:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27938:60:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;27938:60:0;;;;;;;;;;28011:21;28049:1;28035:16;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;28035:16:0;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;125:4;109:14;101:6;88:42;156:4;148:6;144:17;134:27;;0:165;28035:16:0;;;;28011:40;;28072:12;28062:4;28067:1;28062:7;;;;;;;;;;;;;:22;;;;;;;;;;;28105:13;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;28105:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28105:20:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;28105:20:0;;;;;;;;;28095:4;28100:1;28095:7;;;;;;;;;;;;;:30;;;;;;;;;;;28138:27;28168:13;;;;;;;;;;;:27;;;28196:6;28204:4;28168:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;28168:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28168:41:0;;;;;;39:16:-1;36:1;17:17;2:54;28168:41:0;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;28168:41:0;;;;;;;;;28138:71;;28222:26;28237:10;28222:14;:26::i;:::-;28285:18;;28268:10;28279:1;28268:13;;;;;;;;;;;;;;:35;;28267:90;;;;;28342:14;;28309:18;:30;28328:10;28309:30;;;;;;;;;;;;;;;;:47;28267:90;28259:99;;12:1:-1;9;2:12;28259:99:0;28403:1;28369:18;:30;28388:10;28369:30;;;;;;;;;;;;;;;;:35;;;;;;;;;;;28417:13;;;;;;;;;;;:64;;;28496:6;28517:1;28533:4;28560;28580:15;28417:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;28417:189:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28417:189:0;;;;28619:17;28662:3;28639:20;28657:1;28639:10;28650:1;28639:13;;;;;;;;;;;;;;:17;;:20;;;;:::i;:::-;:26;;;;;;28619:46;;28676:15;28694:28;28712:9;28694:10;28705:1;28694:13;;;;;;;;;;;;;;:17;;:28;;;;:::i;:::-;28676:46;;28733:23;28746:9;28733:12;:23::i;:::-;28779:13;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;28779:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28779:20:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;28779:20:0;;;;;;;;;28769:4;28774:1;28769:7;;;;;;;;;;;;;:30;;;;;;;;;;;28828:4;28810;28815:1;28810:7;;;;;;;;;;;;;:23;;;;;;;;;;;28844:13;;;;;;;;;;;:64;;;28916:7;28939:1;28955:4;28982:9;;;;;;;;;;;29007:15;28844:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;28844:189:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28844:189:0;;;;;29046:19;29058:6;29046:11;:19::i;:::-;27743:1330;;;;;;:::o;17981:218::-;18069:4;18086:83;18095:12;:10;:12::i;:::-;18109:7;18118:50;18157:10;18118:11;:25;18130:12;:10;:12::i;:::-;18118:25;;;;;;;;;;;;;;;:34;18144:7;18118:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18086:8;:83::i;:::-;18187:4;18180:11;;17981:218;;;;:::o;21882:32::-;;;;:::o;32221:187::-;32284:7;32311:89;32386:13;:11;:13::i;:::-;32311:70;32364:7;:16;32372:7;32364:16;;;;;;;;;;;;;;;;32311:48;32355:3;32311:39;32329:9;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;32329:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32329:20:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;32329:20:0;;;;;;;;;32311:13;;:17;;:39;;;;:::i;:::-;:43;;:48;;;;:::i;:::-;:52;;:70;;;;:::i;:::-;:74;;:89;;;;:::i;:::-;32304:96;;32221:187;;;:::o;26623:140::-;26709:7;:5;:7::i;:::-;26696:20;;:9;:20;;;26688:29;;12:1:-1;9;2:12;26688:29:0;26749:6;26728:18;:27;;;;26623:140;:::o;22800:34::-;;;;:::o;22609:40::-;;;;:::o;26771:136::-;26855:7;:5;:7::i;:::-;26842:20;;:9;:20;;;26834:29;;12:1:-1;9;2:12;26834:29:0;26893:6;26874:16;:25;;;;26771:136;:::o;32416:275::-;32460:7;32480:19;32502:64;32537:13;;;;;;;;;;;32560:4;32502:34;:64::i;:::-;32480:86;;32584:99;32662:7;:20;32670:11;32662:20;;;;;;;;;;;;;;;;32584:73;32596:7;:60;32612:42;32596:60;;;;;;;;;;;;;;;;32584:7;;:11;;:73;;;;:::i;:::-;:77;;:99;;;;:::i;:::-;32577:106;;;32416:275;:::o;22388:26::-;;;;:::o;17084:117::-;17150:7;17177;:16;17185:7;17177:16;;;;;;;;;;;;;;;;17170:23;;17084:117;;;:::o;5541:148::-;5464:12;:10;:12::i;:::-;5454:22;;:6;;;;;;;;;;;:22;;;5446:67;;;;;;;;;;;;;;;;;;;;;;5648:1:::1;5611:40;;5632:6;::::0;::::1;;;;;;;;;5611:40;;;;;;;;;;;;5679:1;5662:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5541:148::o:0;22421:35::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5327:79::-;5365:7;5392:6;;;;;;;;;;;5385:13;;5327:79;:::o;22114:28::-;;;;:::o;25264:134::-;25328:7;25355:19;:28;25375:7;25355:28;;;;;;;;;;;;;;;:35;;;;25348:42;;25264:134;;;:::o;16795:87::-;16834:13;16867:7;16860:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16795:87;:::o;22546:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;26915:820::-;26981:4;26968:10;;:17;;;;;;;;;;;;;;;;;;26998:18;27019:9;26998:30;;27041:26;27056:10;27041:14;:26::i;:::-;27101:18;;27087:10;:32;;27086:87;;;;;27158:14;;27125:18;:30;27144:10;27125:30;;;;;;;;;;;;;;;;:47;27086:87;27078:96;;12:1:-1;9;2:12;27078:96:0;27219:1;27185:18;:30;27204:10;27185:30;;;;;;;;;;;;;;;;:35;;;;;;;;;;;27233:17;27273:3;27253:17;27268:1;27253:10;:14;;:17;;;;:::i;:::-;:23;;;;;;27233:43;;27287:15;27305:25;27320:9;27305:10;:14;;:25;;;;:::i;:::-;27287:43;;27341:23;27354:9;27341:12;:23::i;:::-;27377:21;27415:1;27401:16;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27401:16:0;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;125:4;109:14;101:6;88:42;156:4;148:6;144:17;134:27;;0:165;27401:16:0;;;;27377:40;;27438:13;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27438:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27438:20:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;27438:20:0;;;;;;;;;27428:4;27433:1;27428:7;;;;;;;;;;;;;:30;;;;;;;;;;;27487:4;27469;27474:1;27469:7;;;;;;;;;;;;;:23;;;;;;;;;;;27503:13;;;;;;;;;;;:64;;;27575:7;27598:1;27614:4;27641:9;;;;;;;;;;;27666:15;27503:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27503:189:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27503:189:0;;;;;27705:22;27717:9;27705:11;:22::i;:::-;26915:820;;;;:::o;18207:228::-;18300:4;18317:88;18326:12;:10;:12::i;:::-;18340:7;18349:55;18388:15;18349:11;:25;18361:12;:10;:12::i;:::-;18349:25;;;;;;;;;;;;;;;:34;18375:7;18349:34;;;;;;;;;;;;;;;;:38;;:55;;;;:::i;:::-;18317:8;:88::i;:::-;18423:4;18416:11;;18207:228;;;;:::o;22194:55::-;;;;:::o;24453:803::-;24495:14;24520:12;24543:13;24559:28;24576:10;24559:16;:28::i;:::-;24543:44;;24598:12;24613:19;:31;24633:10;24613:31;;;;;;;;;;;;;;;24651:1;24645:5;:7;24613:40;;;;;;;;;;;;;;;;24598:55;;24668:9;24664:303;24683:5;24679:1;:9;24664:303;;;24718:20;;24713:1;:25;24710:35;;;24740:5;;24710:35;24767:19;:31;24787:10;24767:31;;;;;;;;;;;;;;;24807:1;24805;24799:5;:7;:9;24767:42;;;;;;;;;;;;;;;;24760:49;;24834:69;24863:21;:33;24885:10;24863:33;;;;;;;;;;;;;;;:39;24897:4;24863:39;;;;;;;;;;;;24834:18;24853:4;24834:24;;;;;;;;;;;;;;;;:28;;:69;;;;:::i;:::-;24824:79;;;;24918:19;:31;24938:10;24918:31;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;;;;;;;24690:3;;;;;;;24664:303;;;;25008:1;24980:18;24999:4;24980:24;;;;;;;;;;;;;;;;:29;24977:103;;;25026:19;:31;25046:10;25026:31;;;;;;;;;;;;;;;25063:4;25026:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;25026:42:0;;;;;;;;;;;;;;;;;;;24977:103;25107:1;25098:6;:10;25090:19;;12:1:-1;9;2:12;25090:19:0;25137:26;25156:6;25137:14;;:18;;:26;;;;:::i;:::-;25120:14;:43;;;;25175:9;25189:10;:15;;25213:6;25189:35;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;25174:50:0;;;25243:4;25235:13;;12:1:-1;9;2:12;25235:13:0;24453:803;;;;;:::o;6268:293::-;6338:10;6320:28;;:14;;;;;;;;;;;:28;;;6312:76;;;;;;;;;;;;;;;;;;;;;;6413:9;;6407:3;:15;6399:60;;;;;;;;;;;;;;;;;;;;;;6504:14;;;;;;;;;;;6475:44;;6496:6;;;;;;;;;;;6475:44;;;;;;;;;;;;6539:14;;;;;;;;;;;6530:6;;:23;;;;;;;;;;;;;;;;;;6268:293::o;17209:167::-;17287:4;17304:42;17314:12;:10;:12::i;:::-;17328:9;17339:6;17304:9;:42::i;:::-;17364:4;17357:11;;17209:167;;;;:::o;22656:28::-;;;;:::o;5949:89::-;5994:7;6021:9;;6014:16;;5949:89;:::o;24076:369::-;24155:1;24125:14;:26;24140:10;24125:26;;;;;;;;;;;;;;;;:31;;:80;;;;;24179:14;:26;24194:10;24179:26;;;;;;;;;;;;;;;;24160:15;:45;;24125:80;24117:89;;12:1:-1;9;2:12;24117:89:0;24217:14;24234:27;24250:10;24234:15;:27::i;:::-;24217:44;;24288:25;24306:6;24288:13;;:17;;:25;;;;:::i;:::-;24272:13;:41;;;;24325:9;24339:10;:15;;24363:6;24339:35;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;24324:50:0;;;24393:4;24385:13;;12:1:-1;9;2:12;24385:13:0;24409:28;24426:10;24409:16;:28::i;:::-;24076:369;;:::o;29081:1468::-;29164:41;29186:10;29198:6;29164:21;:41::i;:::-;29216:28;29233:10;29216:16;:28::i;:::-;29257:52;29275:10;29295:4;29302:6;29257:17;:52::i;:::-;29322:18;29343:47;29354:35;29375:4;29382:6;29354:12;:35::i;:::-;29343:6;:10;;:47;;;;:::i;:::-;29322:68;;29411:21;29449:1;29435:16;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;29435:16:0;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;125:4;109:14;101:6;88:42;156:4;148:6;144:17;134:27;;0:165;29435:16:0;;;;29411:40;;29480:4;29462;29467:1;29462:7;;;;;;;;;;;;;:23;;;;;;;;;;;29506:13;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;29506:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29506:20:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;29506:20:0;;;;;;;;;29496:4;29501:1;29496:7;;;;;;;;;;;;;:30;;;;;;;;;;;29539:27;29569:13;;;;;;;;;;;:27;;;29597:10;29609:4;29569:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;29569:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29569:45:0;;;;;;39:16:-1;36:1;17:17;2:54;29569:45:0;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;29569:45:0;;;;;;;;;29539:75;;29627:59;29644:4;29659:13;;;;;;;;;;;29675:10;29627:8;:59::i;:::-;29699:13;;;;;;;;;;;:64;;;29778:10;29803:1;29819:4;29846;29866:15;29699:193;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;29699:193:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29699:193:0;;;;29905:17;29948:3;29925:20;29943:1;29925:10;29936:1;29925:13;;;;;;;;;;;;;;:17;;:20;;;;:::i;:::-;:26;;;;;;29905:46;;29962:15;29980:28;29998:9;29980:10;29991:1;29980:13;;;;;;;;;;;;;;:17;;:28;;;;:::i;:::-;29962:46;;30019:23;30032:9;30019:12;:23::i;:::-;30082:1;30058:26;;:12;:26;;;30055:452;;;30102:9;30117;:14;;30140:7;30117:36;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;30101:52:0;;;30176:4;30168:13;;12:1:-1;9;2:12;30168:13:0;30055:452;;;;30223:13;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;30223:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30223:20:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;30223:20:0;;;;;;;;;30213:4;30218:1;30213:7;;;;;;;;;;;;;:30;;;;;;;;;;;30268:12;30258:4;30263:1;30258:7;;;;;;;;;;;;;:22;;;;;;;;;;;30295:13;;;;;;;;;;;:64;;;30367:7;30394:1;30414:4;30437:9;30465:15;30295:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;30295:200:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30295:200:0;;;;;30055:452;30519:19;30531:6;30519:11;:19::i;:::-;29081:1468;;;;;;;:::o;22691:41::-;;;;:::o;22151:36::-;;;;:::o;31690:523::-;31739:21;31762:23;31787:18;31818:19;31840:64;31875:13;;;;;;;;;;;31898:4;31840:34;:64::i;:::-;31818:86;;31941:1;31918:25;;:11;:25;;;31915:260;;;31976:1;31960:17;;32010:1;31992:19;;31915:260;;;32066:13;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;32066:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32066:20:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;32066:20:0;;;;;;;;;32059:38;;;32098:11;32059:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;32059:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32059:51:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;32059:51:0;;;;;;;;;32043:67;;32143:7;:20;32151:11;32143:20;;;;;;;;;;;;;;;;32125:38;;31915:260;32198:7;;32185:20;;31690:523;;;;:::o;6046:214::-;5464:12;:10;:12::i;:::-;5454:22;;:6;;;;;;;;;;;:22;;;5446:67;;;;;;;;;;;;;;;;;;;;;;6127:6:::1;::::0;::::1;;;;;;;;;6110:14;;:23;;;;;;;;;;;;;;;;;;6161:1;6144:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6192:4;6186:3;:10;6174:9;:22;;;;6249:1;6212:40;;6233:6;::::0;::::1;;;;;;;;;6212:40;;;;;;;;;;;;6046:214:::0;:::o;17384:143::-;17465:7;17492:11;:18;17504:5;17492:18;;;;;;;;;;;;;;;:27;17511:7;17492:27;;;;;;;;;;;;;;;;17485:34;;17384:143;;;;:::o;5697:244::-;5464:12;:10;:12::i;:::-;5454:22;;:6;;;;;;;;;;;:22;;;5446:67;;;;;;;;;;;;;;;;;;;;;;5806:1:::1;5786:22;;:8;:22;;;;5778:73;;;;;;;;;;;;;;;;;;;;;;5896:8;5867:38;;5888:6;::::0;::::1;;;;;;;;;5867:38;;;;;;;;;;;;5925:8;5916:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5697:244:::0;:::o;26489:126::-;26568:7;:5;:7::i;:::-;26555:20;;:9;:20;;;26547:29;;12:1:-1;9;2:12;26547:29:0;26604:3;26587:14;:20;;;;26489:126;:::o;23814:254::-;23906:1;23878:12;:24;23891:10;23878:24;;;;;;;;;;;;;;;;:29;:72;;;;;23934:16;;23911:7;:19;23919:10;23911:19;;;;;;;;;;;;;;;;:39;;23878:72;23870:81;;12:1:-1;9;2:12;23870:81:0;23962:16;23984:10;23962:33;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;23962:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24059:1;24057;24033:16;:23;;;;:25;:27;24006:12;:24;24019:10;24006:24;;;;;;;;;;;;;;;:54;;;;23814:254::o;22078:29::-;;;;:::o;1354:250::-;1412:7;1441:1;1436;:6;1432:47;;;1466:1;1459:8;;;;1432:47;1491:9;1507:1;1503;:5;1491:17;;1536:1;1531;1527;:5;;;;;;:10;1519:56;;;;;;;;;;;;;;;;;;;;;;1595:1;1588:8;;;1354:250;;;;;:::o;2293:106::-;2346:15;2381:10;2374:17;;2293:106;:::o;18480:259::-;18590:1;18573:19;;:5;:19;;;;18565:28;;12:1:-1;9;2:12;18565:28:0;18631:1;18612:21;;:7;:21;;;;18604:30;;12:1:-1;9;2:12;18604:30:0;18677:6;18647:11;:18;18659:5;18647:18;;;;;;;;;;;;;;;:27;18666:7;18647:27;;;;;;;;;;;;;;;:36;;;;18715:7;18699:32;;18708:5;18699:32;;;18724:6;18699:32;;;;;;;;;;;;;;;18480:259;;;:::o;18747:1694::-;18887:1;18871:18;;:4;:18;;;;18863:27;;12:1:-1;9;2:12;18863:27:0;18923:1;18909:16;;:2;:16;;;;18901:25;;12:1:-1;9;2:12;18901:25:0;18954:1;18945:6;:10;18937:19;;12:1:-1;9;2:12;18937:19:0;18969;18991:64;19026:13;;;;;;;;;;;19049:4;18991:34;:64::i;:::-;18969:86;;19079:11;19071:19;;:4;:19;;;19068:1366;;;19124:13;;;;;;;;;;;19110:28;;:2;:28;;;19107:650;;;19159:35;19177:4;19183:2;19187:6;19159:17;:35::i;:::-;19107:650;;;19256:9;;;;;;;;;;;19242:24;;:2;:24;;;:38;;;;;19270:10;;;;;;;;;;;19242:38;19234:47;;12:1:-1;9;2:12;19234:47:0;19300:18;19321:38;19332:26;19345:4;19351:6;19332:12;:26::i;:::-;19321:6;:10;;:38;;;;:::i;:::-;19300:59;;19382:15;:26;19398:9;19382:26;;;;;;;;;;;;;;;;;;;;;;;;;19378:153;;19462:4;19433:15;:26;19449:9;19433:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;19510:1;19489:17;;:22;;;;;;;;;;;19378:153;19549:44;19571:9;19582:10;19549:21;:44::i;:::-;19612:46;19630:4;19636:9;19647:10;19612:17;:46::i;:::-;19677:27;19694:9;19677:16;:27::i;:::-;19736:5;19723:10;;:18;;;;;;;;;;;;;;;;;;19107:650;;19068:1366;;;19782:11;19776:17;;:2;:17;;;19773:661;;;19821:7;:5;:7::i;:::-;19813:15;;:4;:15;;;19810:85;;19873:4;19857:21;;:4;:21;;;19849:30;;12:1:-1;9;2:12;19849:30:0;19810:85;19909:35;19927:4;19933:2;19937:6;19909:17;:35::i;:::-;19773:661;;;19980:15;:19;19996:2;19980:19;;;;;;;;;;;;;;;;;;;;;;;;;19976:127;;20042:4;20020:15;:19;20036:2;20020:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;20086:1;20065:17;;:22;;;;;;;;;;;19976:127;20155:4;20120:39;;:9;;;;;;;;;;;:25;;;20146:4;20120:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;20120:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20120:31:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;20120:31:0;;;;;;;;;:39;;;:80;;;;20196:4;20163:37;;:9;;;;;;;;;;;:25;;;20189:2;20163:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;20163:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20163:29:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;20163:29:0;;;;;;;;;:37;;;20120:80;20117:306;;;20221:35;20239:4;20245:2;20249:6;20221:17;:35::i;:::-;20117:306;;;20296:31;20310:4;20316:2;20320:6;20296:13;:31::i;:::-;20346:22;20363:4;20346:16;:22::i;:::-;20387:20;20404:2;20387:16;:20::i;:::-;20117:306;19773:661;19068:1366;18747:1694;;;;:::o;1010:136::-;1068:7;1095:43;1099:1;1102;1095:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1088:50;;1010:136;;;;:::o;25557:290::-;25617:21;25659:5;25641:15;:23;;;;;;25617:47;;25709:13;25678:18;:27;25697:7;25678:27;;;;;;;;;;;;;;;;:44;25675:165;;25769:13;25739:18;:27;25758:7;25739:27;;;;;;;;;;;;;;;:43;;;;25827:1;25797:18;:27;25816:7;25797:27;;;;;;;;;;;;;;;:31;;;;25675:165;25557:290;;:::o;26118:363::-;26175:17;26204:1;26195:6;:10;;;;;;26175:30;;26216:15;26234:28;26245:16;26259:1;26245:9;:13;;:16;;;;:::i;:::-;26234:6;:10;;:28;;;;:::i;:::-;26216:46;;26291:16;26305:1;26291:9;:13;;:16;;;;:::i;:::-;26273:14;;:34;;;;;;;;;;;26336:16;26350:1;26336:9;:13;;:16;;;;:::i;:::-;26318:14;;:34;;;;;;;;;;;26380:7;26363:13;;:24;;;;;;;;;;;26399:9;26413:8;;;;;;;;;;;:13;;26435:9;26413:36;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;26398:51:0;;;26468:4;26460:13;;12:1:-1;9;2:12;26460:13:0;26118:363;;;;:::o;20449:1067::-;20505:20;20557:1;20536:17;;:22;;;;;;;;;;;20598:1;20572:16;:23;;;;:27;20569:461;;;20620:9;20616:403;20635:13;;20631:1;:17;20616:403;;;20689:16;20706:54;20725:1;20728:16;:23;;;;20753:6;20706:18;:54::i;:::-;20689:72;;;;;;;;;;;;;;;;;;;;;;;;;20674:87;;20835:1;20783:21;:35;20805:12;20783:35;;;;;;;;;;;;;;;:48;20819:11;;20783:48;;;;;;;;;;;;:53;20780:152;;;20861:19;:33;20881:12;20861:33;;;;;;;;;;;;;;;20900:11;;20861:51;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20861:51:0;;;;;;;;;;;;;;;;;;;20780:152;21002:1;20950:21;:35;20972:12;20950:35;;;;;;;;;;;;;;;:48;20986:11;;20950:48;;;;;;;;;;;;:53;;;;;;;;;;;20650:3;;;;;;;20616:403;;;;20569:461;21064:25;;21043:17;;:46;21040:469;;21106:18;:24;;;;;;;;;;;;;;;;;;;;;;;;21145:18;21169:64;21188:44;21218:13;;21188:25;;:29;;:44;;;;:::i;:::-;21169:14;;:18;;:64;;;;:::i;:::-;21145:89;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21145:89:0;;;;;;;;;;;;;;;;;;;21264:1;21249:11;;:16;;;;;;;;;;;21280:18;21304:1;21280:26;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21280:26:0;;;;;;;;;;;;;;;;;;;21341:1;21321:17;:21;;;;21374:1;21357:14;:18;;;;21406:9;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;21406:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21406:18:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;21406:18:0;;;;;;;;;21390:13;:34;;;;21467:9;;;;;;;;;;;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;21467:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21467:30:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;21467:30:0;;;;;;;;;21439:25;:58;;;;21040:469;20449:1067;;:::o;821:181::-;879:7;899:9;915:1;911;:5;899:17;;940:1;935;:6;;927:46;;;;;;;;;;;;;;;;;;;;;;993:1;986:8;;;821:181;;;;:::o;1612:132::-;1670:7;1697:39;1701:1;1704;1697:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1690:46;;1612:132;;;;:::o;15185:217::-;15287:7;15335:6;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15335:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15335:16:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;15335:16:0;;;;;;;;;15319:41;;;15361:12;15375:6;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15375:13:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15375:13:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;15375:13:0;;;;;;;;;15319:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15319:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15319:70:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;15319:70:0;;;;;;;;;15312:77;;15185:217;;;;:::o;25406:143::-;25512:9;;;;;;;;;;;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;25512:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25512:29:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;25512:29:0;;;;;;;;;25494:15;:47;25468:14;:23;25483:7;25468:23;;;;;;;;;;;;;;;:73;;;;25406:143;:::o;23020:463::-;23124:16;;23105:7;:15;23113:6;23105:15;;;;;;;;;;;;;;;;:35;;:85;;;;;23174:16;;23144:27;23164:6;23144:7;:15;23152:6;23144:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;:46;23105:85;23102:374;;;23250:16;23291:1;23267:16;:23;;;;:25;23250:43;;;;;;;;;;;;;;;;;;;;;;;;;23207:16;23245:1;23224:12;:20;23237:6;23224:20;;;;;;;;;;;;;;;;:22;23207:40;;;;;;;;;;;;;;;;:86;;;;;;;;;;;;;;;;;;23368:12;:20;23381:6;23368:20;;;;;;;;;;;;;;;;23308:12;:57;23321:16;23362:1;23338:16;:23;;;;:25;23321:43;;;;;;;;;;;;;;;;;;;;;;;;;23308:57;;;;;;;;;;;;;;;:80;;;;23426:1;23403:12;:20;23416:6;23403:20;;;;;;;;;;;;;;;:24;;;;23442:16;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23102:374;23020:463;;:::o;21524:263::-;21639:27;21659:6;21639:7;:15;21647:6;21639:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;21621:7;:15;21629:6;21621:15;;;;;;;;;;;;;;;:45;;;;21698:30;21721:6;21698:7;:18;21706:9;21698:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;21677:7;:18;21685:9;21677:18;;;;;;;;;;;;;;;:51;;;;21761:9;21744:35;;21753:6;21744:35;;;21772:6;21744:35;;;;;;;;;;;;;;;21524:263;;;:::o;25855:255::-;25924:7;25944:15;25978:3;25962:13;25973:1;25962:6;:10;;:13;;;;:::i;:::-;:19;;;;;;25944:37;;25992:85;26010:4;26024:42;26069:7;25992:17;:85::i;:::-;26095:7;26088:14;;;25855:255;;;;:::o;23491:315::-;23600:16;;23579:7;:18;23587:9;23579:18;;;;;;;;;;;;;;;;:37;:91;;;;;23654:16;;23620:30;23643:6;23620:7;:18;23628:9;23620:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;:50;;23579:91;23576:223;;;23687:16;23709:9;23687:32;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;23687:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23786:1;23784;23760:16;:23;;;;:25;:27;23734:12;:23;23747:9;23734:23;;;;;;;;;;;;;;;:53;;;;23576:223;23491:315;;:::o;30557:1125::-;30641:35;30663:4;30669:6;30641:21;:35::i;:::-;30689:18;30710:26;30723:4;30729:6;30710:12;:26::i;:::-;30689:47;;30747:18;30784:3;30768:13;30779:1;30768:6;:10;;:13;;;;:::i;:::-;:19;;;;;;30747:40;;30798:18;30819:38;30846:10;30819:22;30830:10;30819:6;:10;;:22;;;;:::i;:::-;:26;;:38;;;;:::i;:::-;30798:59;;30870:21;30908:1;30894:16;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;30894:16:0;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;125:4;109:14;101:6;88:42;156:4;148:6;144:17;134:27;;0:165;30894:16:0;;;;30870:40;;30939:4;30921;30926:1;30921:7;;;;;;;;;;;;;:23;;;;;;;;;;;30965:13;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;30965:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30965:20:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;30965:20:0;;;;;;;;;30955:4;30960:1;30955:7;;;;;;;;;;;;;:30;;;;;;;;;;;30998:27;31028:13;;;;;;;;;;;:27;;;31056:10;31068:4;31028:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;31028:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31028:45:0;;;;;;39:16:-1;36:1;17:17;2:54;31028:45:0;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;31028:45:0;;;;;;;;;30998:75;;31086:50;31104:4;31118;31125:10;31086:17;:50::i;:::-;31149:59;31166:4;31181:13;;;;;;;;;;;31197:10;31149:8;:59::i;:::-;31221:13;;;;;;;;;;;:64;;;31300:10;31325:1;31341:4;31368;31388:15;31221:193;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;31221:193:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31221:193:0;;;;31427:27;31440:10;31451:1;31440:13;;;;;;;;;;;;;;31427:12;:27::i;:::-;31484:42;31470:57;;:2;:57;;;31467:126;;31544:37;31566:2;31570:10;31544:21;:37::i;:::-;31467:126;31603:39;31621:4;31627:2;31631:10;31603:17;:39::i;:::-;31655:19;31667:6;31655:11;:19::i;:::-;30557:1125;;;;;;;;:::o;1154:192::-;1240:7;1273:1;1268;:6;;1276:12;1260:29;;;;;;;;;;;;;;;;;;;;;;;;;1300:9;1316:1;1312;:5;1300:17;;1337:1;1330:8;;;1154:192;;;;;:::o;14543:634::-;14623:7;14643:12;15075:5;15039:12;14998:15;14980:10;14963:28;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14963:28:0;;;14953:39;;;;;;14945:48;;14944:70;;;;;;14905:14;14864:15;14842:14;14825:32;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14825:32:0;;;14815:43;;;;;;14807:52;;14806:74;;;;;;14765:16;14747:15;:34;:134;:172;:268;:304;:333;14708:391;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14708:391:0;;;14680:434;;;;;;14658:467;;14643:482;;15165:4;15143:19;15157:4;15152:2;:9;15143:4;:8;;:19;;;;:::i;:::-;:26;15136:33;;;14543:634;;;;;:::o;1752:189::-;1838:7;1870:1;1866;:5;1873:12;1858:28;;;;;;;;;;;;;;;;;;;;;;;;;1897:9;1913:1;1909;:5;;;;;;1897:17;;1932:1;1925:8;;;1752:189;;;;;:::o;1949:130::-;2007:7;2034:37;2038:1;2041;2034:37;;;;;;;;;;;;;;;;;:3;:37::i;:::-;2027:44;;1949:130;;;;:::o;2087:166::-;2173:7;2206:1;2201;:6;;2209:12;2193:29;;;;;;;;;;;;;;;;;;;;;;;;;2244:1;2240;:5;;;;;;2233:12;;2087:166;;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;;;57:78;;;;;142:134;;226:6;220:13;211:22;;238:33;265:5;238:33;;;205:71;;;;;301:722;;429:3;422:4;414:6;410:17;406:27;396:2;;447:1;444;437:12;396:2;477:6;471:13;499:80;514:64;571:6;514:64;;;499:80;;;490:89;;596:5;621:6;614:5;607:21;651:4;643:6;639:17;629:27;;673:4;668:3;664:14;657:21;;726:6;773:3;765:4;757:6;753:17;748:3;744:27;741:36;738:2;;;790:1;787;780:12;738:2;815:1;800:217;825:6;822:1;819:13;800:217;;;883:3;905:48;949:3;937:10;905:48;;;900:3;893:61;977:4;972:3;968:14;961:21;;1005:4;1000:3;996:14;989:21;;857:160;847:1;844;840:9;835:14;;800:217;;;804:14;389:634;;;;;;;;1031:128;;1112:6;1106:13;1097:22;;1124:30;1148:5;1124:30;;;1091:68;;;;;1166:130;;1246:6;1233:20;1224:29;;1258:33;1285:5;1258:33;;;1218:78;;;;;1303:134;;1387:6;1381:13;1372:22;;1399:33;1426:5;1399:33;;;1366:71;;;;;1444:241;;1548:2;1536:9;1527:7;1523:23;1519:32;1516:2;;;1564:1;1561;1554:12;1516:2;1599:1;1616:53;1661:7;1652:6;1641:9;1637:22;1616:53;;;1606:63;;1578:97;1510:175;;;;;1692:263;;1807:2;1795:9;1786:7;1782:23;1778:32;1775:2;;;1823:1;1820;1813:12;1775:2;1858:1;1875:64;1931:7;1922:6;1911:9;1907:22;1875:64;;;1865:74;;1837:108;1769:186;;;;;1962:366;;;2083:2;2071:9;2062:7;2058:23;2054:32;2051:2;;;2099:1;2096;2089:12;2051:2;2134:1;2151:53;2196:7;2187:6;2176:9;2172:22;2151:53;;;2141:63;;2113:97;2241:2;2259:53;2304:7;2295:6;2284:9;2280:22;2259:53;;;2249:63;;2220:98;2045:283;;;;;;2335:491;;;;2473:2;2461:9;2452:7;2448:23;2444:32;2441:2;;;2489:1;2486;2479:12;2441:2;2524:1;2541:53;2586:7;2577:6;2566:9;2562:22;2541:53;;;2531:63;;2503:97;2631:2;2649:53;2694:7;2685:6;2674:9;2670:22;2649:53;;;2639:63;;2610:98;2739:2;2757:53;2802:7;2793:6;2782:9;2778:22;2757:53;;;2747:63;;2718:98;2435:391;;;;;;2833:366;;;2954:2;2942:9;2933:7;2929:23;2925:32;2922:2;;;2970:1;2967;2960:12;2922:2;3005:1;3022:53;3067:7;3058:6;3047:9;3043:22;3022:53;;;3012:63;;2984:97;3112:2;3130:53;3175:7;3166:6;3155:9;3151:22;3130:53;;;3120:63;;3091:98;2916:283;;;;;;3206:392;;3346:2;3334:9;3325:7;3321:23;3317:32;3314:2;;;3362:1;3359;3352:12;3314:2;3418:1;3407:9;3403:17;3397:24;3441:18;3433:6;3430:30;3427:2;;;3473:1;3470;3463:12;3427:2;3493:89;3574:7;3565:6;3554:9;3550:22;3493:89;;;3483:99;;3376:212;3308:290;;;;;3605:257;;3717:2;3705:9;3696:7;3692:23;3688:32;3685:2;;;3733:1;3730;3723:12;3685:2;3768:1;3785:61;3838:7;3829:6;3818:9;3814:22;3785:61;;;3775:71;;3747:105;3679:183;;;;;3869:241;;3973:2;3961:9;3952:7;3948:23;3944:32;3941:2;;;3989:1;3986;3979:12;3941:2;4024:1;4041:53;4086:7;4077:6;4066:9;4062:22;4041:53;;;4031:63;;4003:97;3935:175;;;;;4117:263;;4232:2;4220:9;4211:7;4207:23;4203:32;4200:2;;;4248:1;4245;4238:12;4200:2;4283:1;4300:64;4356:7;4347:6;4336:9;4332:22;4300:64;;;4290:74;;4262:108;4194:186;;;;;4387:366;;;4508:2;4496:9;4487:7;4483:23;4479:32;4476:2;;;4524:1;4521;4514:12;4476:2;4559:1;4576:53;4621:7;4612:6;4601:9;4597:22;4576:53;;;4566:63;;4538:97;4666:2;4684:53;4729:7;4720:6;4709:9;4705:22;4684:53;;;4674:63;;4645:98;4470:283;;;;;;4761:173;;4848:46;4890:3;4882:6;4848:46;;;4923:4;4918:3;4914:14;4900:28;;4841:93;;;;;4942:142;5033:45;5072:5;5033:45;;;5028:3;5021:58;5015:69;;;5091:184;5208:61;5236:32;5262:5;5236:32;;;5208:61;;;5203:3;5196:74;5190:85;;;5282:103;5355:24;5373:5;5355:24;;;5350:3;5343:37;5337:48;;;5392:113;5475:24;5493:5;5475:24;;;5470:3;5463:37;5457:48;;;5543:690;;5688:54;5736:5;5688:54;;;5755:86;5834:6;5829:3;5755:86;;;5748:93;;5862:56;5912:5;5862:56;;;5938:7;5966:1;5951:260;5976:6;5973:1;5970:13;5951:260;;;6043:6;6037:13;6064:63;6123:3;6108:13;6064:63;;;6057:70;;6144:60;6197:6;6144:60;;;6134:70;;6008:203;5998:1;5995;5991:9;5986:14;;5951:260;;;5955:14;6224:3;6217:10;;5667:566;;;;;;;;6241:104;6318:21;6333:5;6318:21;;;6313:3;6306:34;6300:45;;;6352:142;6443:45;6482:5;6443:45;;;6438:3;6431:58;6425:69;;;6501:347;;6613:39;6646:5;6613:39;;;6664:71;6728:6;6723:3;6664:71;;;6657:78;;6740:52;6785:6;6780:3;6773:4;6766:5;6762:16;6740:52;;;6813:29;6835:6;6813:29;;;6808:3;6804:39;6797:46;;6593:255;;;;;;6856:375;;7016:67;7080:2;7075:3;7016:67;;;7009:74;;7116:34;7112:1;7107:3;7103:11;7096:55;7185:8;7180:2;7175:3;7171:12;7164:30;7222:2;7217:3;7213:12;7206:19;;7002:229;;;;7240:327;;7400:67;7464:2;7459:3;7400:67;;;7393:74;;7500:29;7496:1;7491:3;7487:11;7480:50;7558:2;7553:3;7549:12;7542:19;;7386:181;;;;7576:370;;7736:67;7800:2;7795:3;7736:67;;;7729:74;;7836:34;7832:1;7827:3;7823:11;7816:55;7905:3;7900:2;7895:3;7891:12;7884:25;7937:2;7932:3;7928:12;7921:19;;7722:224;;;;7955:332;;8115:67;8179:2;8174:3;8115:67;;;8108:74;;8215:34;8211:1;8206:3;8202:11;8195:55;8278:2;8273:3;8269:12;8262:19;;8101:186;;;;8296:296;;8473:83;8554:1;8549:3;8473:83;;;8466:90;;8584:1;8579:3;8575:11;8568:18;;8459:133;;;;8601:331;;8761:67;8825:2;8820:3;8761:67;;;8754:74;;8861:33;8857:1;8852:3;8848:11;8841:54;8923:2;8918:3;8914:12;8907:19;;8747:185;;;;8941:372;;9101:67;9165:2;9160:3;9101:67;;;9094:74;;9201:34;9197:1;9192:3;9188:11;9181:55;9270:5;9265:2;9260:3;9256:12;9249:27;9304:2;9299:3;9295:12;9288:19;;9087:226;;;;9321:113;9404:24;9422:5;9404:24;;;9399:3;9392:37;9386:48;;;9441:152;9542:45;9562:24;9580:5;9562:24;;;9542:45;;;9537:3;9530:58;9524:69;;;9600:107;9679:22;9695:5;9679:22;;;9674:3;9667:35;9661:46;;;9714:285;;9858:91;9945:3;9936:6;9858:91;;;9971:2;9966:3;9962:12;9955:19;;9991:3;9984:10;;9846:153;;;;;10006:379;;10213:147;10356:3;10213:147;;;10206:154;;10377:3;10370:10;;10194:191;;;;10392:253;;10520:75;10591:3;10582:6;10520:75;;;10617:2;10612:3;10608:12;10601:19;;10637:3;10630:10;;10508:137;;;;;10652:222;;10779:2;10768:9;10764:18;10756:26;;10793:71;10861:1;10850:9;10846:17;10837:6;10793:71;;;10750:124;;;;;10881:476;;11080:2;11069:9;11065:18;11057:26;;11094:79;11170:1;11159:9;11155:17;11146:6;11094:79;;;11184:80;11260:2;11249:9;11245:18;11236:6;11184:80;;;11275:72;11343:2;11332:9;11328:18;11319:6;11275:72;;;11051:306;;;;;;;11364:333;;11519:2;11508:9;11504:18;11496:26;;11533:71;11601:1;11590:9;11586:17;11577:6;11533:71;;;11615:72;11683:2;11672:9;11668:18;11659:6;11615:72;;;11490:207;;;;;;11704:333;;11859:2;11848:9;11844:18;11836:26;;11873:71;11941:1;11930:9;11926:17;11917:6;11873:71;;;11955:72;12023:2;12012:9;12008:18;11999:6;11955:72;;;11830:207;;;;;;12044:210;;12165:2;12154:9;12150:18;12142:26;;12179:65;12241:1;12230:9;12226:17;12217:6;12179:65;;;12136:118;;;;;12261:736;;12538:3;12527:9;12523:19;12515:27;;12553:79;12629:1;12618:9;12614:17;12605:6;12553:79;;;12680:9;12674:4;12670:20;12665:2;12654:9;12650:18;12643:48;12705:108;12808:4;12799:6;12705:108;;;12697:116;;12824:80;12900:2;12889:9;12885:18;12876:6;12824:80;;;12915:72;12983:2;12972:9;12968:18;12959:6;12915:72;;;12509:488;;;;;;;;13004:720;;13273:3;13262:9;13258:19;13250:27;;13288:79;13364:1;13353:9;13349:17;13340:6;13288:79;;;13415:9;13409:4;13405:20;13400:2;13389:9;13385:18;13378:48;13440:108;13543:4;13534:6;13440:108;;;13432:116;;13559:72;13627:2;13616:9;13612:18;13603:6;13559:72;;;13642;13710:2;13699:9;13695:18;13686:6;13642:72;;;13244:480;;;;;;;;13731:310;;13878:2;13867:9;13863:18;13855:26;;13928:9;13922:4;13918:20;13914:1;13903:9;13899:17;13892:47;13953:78;14026:4;14017:6;13953:78;;;13945:86;;13849:192;;;;;14048:416;;14248:2;14237:9;14233:18;14225:26;;14298:9;14292:4;14288:20;14284:1;14273:9;14269:17;14262:47;14323:131;14449:4;14323:131;;;14315:139;;14219:245;;;;14471:416;;14671:2;14660:9;14656:18;14648:26;;14721:9;14715:4;14711:20;14707:1;14696:9;14692:17;14685:47;14746:131;14872:4;14746:131;;;14738:139;;14642:245;;;;14894:416;;15094:2;15083:9;15079:18;15071:26;;15144:9;15138:4;15134:20;15130:1;15119:9;15115:17;15108:47;15169:131;15295:4;15169:131;;;15161:139;;15065:245;;;;15317:416;;15517:2;15506:9;15502:18;15494:26;;15567:9;15561:4;15557:20;15553:1;15542:9;15538:17;15531:47;15592:131;15718:4;15592:131;;;15584:139;;15488:245;;;;15740:416;;15940:2;15929:9;15925:18;15917:26;;15990:9;15984:4;15980:20;15976:1;15965:9;15961:17;15954:47;16015:131;16141:4;16015:131;;;16007:139;;15911:245;;;;16163:416;;16363:2;16352:9;16348:18;16340:26;;16413:9;16407:4;16403:20;16399:1;16388:9;16384:17;16377:47;16438:131;16564:4;16438:131;;;16430:139;;16334:245;;;;16586:222;;16713:2;16702:9;16698:18;16690:26;;16727:71;16795:1;16784:9;16780:17;16771:6;16727:71;;;16684:124;;;;;16815:481;;17020:2;17009:9;17005:18;16997:26;;17034:71;17102:1;17091:9;17087:17;17078:6;17034:71;;;17153:9;17147:4;17143:20;17138:2;17127:9;17123:18;17116:48;17178:108;17281:4;17272:6;17178:108;;;17170:116;;16991:305;;;;;;17303:848;;17608:3;17597:9;17593:19;17585:27;;17623:71;17691:1;17680:9;17676:17;17667:6;17623:71;;;17705:80;17781:2;17770:9;17766:18;17757:6;17705:80;;;17833:9;17827:4;17823:20;17818:2;17807:9;17803:18;17796:48;17858:108;17961:4;17952:6;17858:108;;;17850:116;;17977:80;18053:2;18042:9;18038:18;18029:6;17977:80;;;18068:73;18136:3;18125:9;18121:19;18112:6;18068:73;;;17579:572;;;;;;;;;18158:444;;18341:2;18330:9;18326:18;18318:26;;18355:71;18423:1;18412:9;18408:17;18399:6;18355:71;;;18437:72;18505:2;18494:9;18490:18;18481:6;18437:72;;;18520;18588:2;18577:9;18573:18;18564:6;18520:72;;;18312:290;;;;;;;18609:214;;18732:2;18721:9;18717:18;18709:26;;18746:67;18810:1;18799:9;18795:17;18786:6;18746:67;;;18703:120;;;;;18830:256;;18892:2;18886:9;18876:19;;18930:4;18922:6;18918:17;19029:6;19017:10;19014:22;18993:18;18981:10;18978:34;18975:62;18972:2;;;19050:1;19047;19040:12;18972:2;19070:10;19066:2;19059:22;18870:216;;;;;19093:304;;19252:18;19244:6;19241:30;19238:2;;;19284:1;19281;19274:12;19238:2;19319:4;19311:6;19307:17;19299:25;;19382:4;19376;19372:15;19364:23;;19175:222;;;;19404:151;;19490:3;19482:11;;19528:4;19523:3;19519:14;19511:22;;19476:79;;;;19562:137;;19671:5;19665:12;19655:22;;19636:63;;;;19706:122;;19800:5;19794:12;19784:22;;19765:63;;;;19835:108;;19933:4;19928:3;19924:14;19916:22;;19910:33;;;;19951:178;;20081:6;20076:3;20069:19;20118:4;20113:3;20109:14;20094:29;;20062:67;;;;;20138:144;;20273:3;20258:18;;20251:31;;;;;20291:163;;20406:6;20401:3;20394:19;20443:4;20438:3;20434:14;20419:29;;20387:67;;;;;20462:91;;20524:24;20542:5;20524:24;;;20513:35;;20507:46;;;;20560:99;;20630:24;20648:5;20630:24;;;20619:35;;20613:46;;;;20666:85;;20739:5;20732:13;20725:21;20714:32;;20708:43;;;;20758:121;;20831:42;20824:5;20820:54;20809:65;;20803:76;;;;20886:72;;20948:5;20937:16;;20931:27;;;;20965:81;;21036:4;21029:5;21025:16;21014:27;;21008:38;;;;21053:129;;21140:37;21171:5;21140:37;;;21127:50;;21121:61;;;;21189:116;;21276:24;21294:5;21276:24;;;21263:37;;21257:48;;;;21312:121;;21391:37;21422:5;21391:37;;;21378:50;;21372:61;;;;21440:108;;21519:24;21537:5;21519:24;;;21506:37;;21500:48;;;;21556:268;21621:1;21628:101;21642:6;21639:1;21636:13;21628:101;;;21718:1;21713:3;21709:11;21703:18;21699:1;21694:3;21690:11;21683:39;21664:2;21661:1;21657:10;21652:15;;21628:101;;;21744:6;21741:1;21738:13;21735:2;;;21809:1;21800:6;21795:3;21791:16;21784:27;21735:2;21605:219;;;;;21832:103;;21904:26;21924:5;21904:26;;;21893:37;;21887:48;;;;21942:89;;22006:20;22020:5;22006:20;;;21995:31;;21989:42;;;;22038:74;;22102:5;22091:16;;22085:27;;;;22119:97;;22207:2;22203:7;22198:2;22191:5;22187:14;22183:28;22173:38;;22167:49;;;;22224:94;;22302:5;22298:2;22294:14;22272:36;;22266:52;;;;22326:117;22395:24;22413:5;22395:24;;;22388:5;22385:35;22375:2;;22434:1;22431;22424:12;22375:2;22369:74;;22450:111;22516:21;22531:5;22516:21;;;22509:5;22506:32;22496:2;;22552:1;22549;22542:12;22496:2;22490:71;;22568:117;22637:24;22655:5;22637:24;;;22630:5;22627:35;22617:2;;22676:1;22673;22666:12;22617:2;22611:74;

Swarm Source

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