Contract 0x8Dd24d6B391576624bc82B5Ef04Cb3B68e4Df6A3

 
 
Txn Hash
Method
Block
From
To
Value
0x71c655ae3a5f966d262fd71c4767daae7b37bc8ad24bb19cc7293968619e6eceSet Approval For...156847102022-10-05 21:52:4722 hrs 45 mins ago0x08e3012f872a5d1163c4069e4325d4d3e0d890f7 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00042026 8.99798292
0x1fef08f4945245ffaf5c241fbfa89179aa9efb22d4eedb2fcae4be37e7fed09bSet Approval For...156045702022-09-24 16:59:2312 days 3 hrs agoENS Name drjay.eth IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.0003429 7.33039565
0x80b3824f1e94e608c5a517153f091e43f4aae374157b6a5eabe7deb765e51352Safe Transfer Fr...155588062022-09-18 6:59:5918 days 13 hrs ago0xa5d4a2c359c958c0530e37d801e851f7b7f7d69c IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00026952 4.02045363
0x7bd2814ab64edb47328c5d39d15927e4e3ce099f2a465860f107d0bce6abf6c9Set Approval For...153730612022-08-19 19:09:1148 days 1 hr ago0x76d7d04a0d48211876a0cf53c37969dd2c64ed29 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.0023865 51.0952284
0xbe492a45eec318d1cd13000477eb33cd1bc11b45dc41af2efbad37691ce068afSet Approval For...153501432022-08-16 4:07:1051 days 16 hrs ago0xa8b472599193d1bc01acfd6a31a9b6f5dc2a93e6 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00058019 12.42210863
0x6098afd17edc1e36c42fa15a269d94ff9bae15d81f4a919dc69e7af3ff444067Set Approval For...152831172022-08-05 15:21:3362 days 5 hrs ago0xe2371b3cf4fc1e290d613fe3bf4a61d285199b17 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00083913 17.96594107
0xef6fccdd31d660242e4686b0ef3259760cf2017773ac1c2e18db97350d3742f5Set Approval For...152306042022-07-28 10:53:0070 days 9 hrs ago0x64d79ebee793b7e546d7d02a8a2ab942775eaa31 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00032285 6.91239507
0xa149fc3972da7534aa095ffaad6fb00e0eaa722b9e9b220bacc25954e7a389ccSet Approval For...152059932022-07-24 15:03:0574 days 5 hrs ago0xa07bcf8d97a20bfad3aed8f941c9854dfcc86c35 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.0008899 19.05291431
0xc0e4c90dc567b33861baa8ad13b6f6ea3ba6cb9ca6505ae4e8e29079265e2aa5Set Approval For...151722842022-07-19 9:33:4879 days 11 hrs agoENS Name 0x541nt.eth IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00037187 7.96179578
0x474eba53a67fc7862fd57bef0178c6c1d9cd7f51a238459c695934407efd293cTransfer From151470772022-07-15 11:52:4483 days 8 hrs agoENS Name reubs.eth IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00105955 15.35938442
0x102b5a3d90885a894d61b375d9b17d3df3958983b65c8c1bda144e5534adea00Transfer From151454672022-07-15 5:50:1983 days 14 hrs agoENS Name reubs.eth IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00113883 16.51150378
0x15f71052c0d9dcd2b65f4f646e3e906b91337f4ae151f6d9badab02f2ea7bd6cTransfer From151303492022-07-12 21:40:0885 days 22 hrs agoENS Name reubs.eth IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00352488 30.61312549
0x7c0eeb348b16d7da126bb53b40fafbd8a25d219004bb3eff03a94558f4fb5894Transfer From151283032022-07-12 14:17:5886 days 6 hrs agoENS Name reubs.eth IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00123453 13.73947886
0xd436fc43172031372293ca692b1614026b4772d9ac96457cb20fb60c249185f8Set Approval For...150649002022-07-02 19:06:1196 days 1 hr ago0xedcdd23c6a0a3b16c0c2d3e92c65d5d3b153290f IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.0005943 12.72416687
0x2d1ba39a2026b885631e6b2255c64b6ff57406657c528fa65917a1bd798f943bSet Approval For...150613962022-07-02 6:13:4696 days 14 hrs ago0x9ee36076ccb20fd850d1028de04a14b87437ef20 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00048228 10.3256832
0x57c7ec1b772b42dc1b6be1c7c659af35281e2c68e16c9f47640257c4fbf68396Set Approval For...150323122022-06-27 3:32:56101 days 17 hrs ago0xce6311d333be201b92a889b599cd3c7e9d7a4da1 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00159049 34.05258996
0x613140188694dbdd427b2e979c05d2155a938367d44f489133b4e495d9b8cb78Set Approval For...150026512022-06-21 14:05:10107 days 6 hrs ago0x3c0dd608611d552cf8cc7a0a4b51bb8d808ad886 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00281889 60.35276547
0xdcd30dd0544045aa1e135a5d1db2280bfec11601b97fc3e53833083f679b7160Safe Transfer Fr...149576982022-06-13 19:28:22115 days 1 hr agoENS Name drosher.eth IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00512406 56.14372883
0x91b559092baa28f9280f557baeabbeb5887923efacbcb8dab7162d086326856fSet Approval For...148784852022-05-31 11:43:31128 days 8 hrs ago0xce6311d333be201b92a889b599cd3c7e9d7a4da1 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00245033 52.36757132
0xda880f01ff07c859107549cddcc328187c07f3ea8f63da51f88fac20defe4b48Set Approval For...148190162022-05-21 19:14:23138 days 1 hr ago0x9ee36076ccb20fd850d1028de04a14b87437ef20 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.0009142 19.5381247
0x2bc337a4569afec653a2f8dd2cfeedf3360d5c2c9ec23a15e6f0134d349da636Transfer From147883052022-05-16 20:18:59143 days 19 mins agoENS Name reubs.eth IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00170662 24.73517011
0x127fa23a55c8ed4ba8b40019baae3f6f3302f5aee7e69fe24aa93ebc4476cd32Transfer From147669582022-05-13 11:01:38146 days 9 hrs agoENS Name reubs.eth IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00473315 68.61236107
0x17660bfb82e73088a5c962227ac775e6304df9901dbfce8f3abae3f8bbe4464bSet Approval For...147325572022-05-07 22:55:16151 days 21 hrs ago0xf28d51268da1de1060d4d87af229743767ee0a4c IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00191761 40.98250514
0xfd050724ca1671645160cd61eeeed5d00a77bb309b03123ae11c3ad224dcfc15Set Approval For...146985902022-05-02 13:43:17157 days 6 hrs ago0x62f841f3d4e299648cf66f23b71c578d755b2bf7 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00293168 62.65492815
0x8490bd37bf383a1cda679a437dfd7cb4b77e3664b1d8663263bad3e003963383Set Approval For...146843782022-04-30 7:53:19159 days 12 hrs ago0x64d79ebee793b7e546d7d02a8a2ab942775eaa31 IN  0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a30 Ether0.00121549 25.97717317
[ Download CSV Export 
Latest 3 internal transactions
Parent Txn Hash Block From To Value
0x81e22b4ccfd388510670db3ab9b2b187410be2fdfc0b6e21fc6df41cab461246142696222022-02-24 15:37:51224 days 5 hrs ago 0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a3ENS Name cashcrabs.eth0.275 Ether
0x76bc650e71be79a34d197473b3d3eeb1813486f9023508cb674e853ef4787615142357142022-02-19 9:24:46229 days 11 hrs ago 0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a3ENS Name cashcrabs.eth2.55 Ether
0x86fcad7abed71ef68ebd00428b68eae0c98b572c7dde45dc036b16870339192c141922972022-02-12 16:22:00236 days 4 hrs ago 0x8dd24d6b391576624bc82b5ef04cb3b68e4df6a3ENS Name cashcrabs.eth18.55 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CashCrabs

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-02-09
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; 
abstract contract ReentrancyGuard { 
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }
    modifier nonReentrant() {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
   _status = _ENTERED;

        _;
        _status = _NOT_ENTERED;
    }
}

library Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";
 
    function toString(uint256 value) internal pure returns (string memory) { 
        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }
 
    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0x00";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }
 
    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }
}
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}
 
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
    constructor() {
        _transferOwnership(_msgSender());
    }
 
    function owner() public view virtual returns (address) {
        return _owner;
    } 
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
 
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
 
library Address { 
    function isContract(address account) internal view returns (bool) { 
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    } 
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
 
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    } 
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
 
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
 
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResult(success, returndata, errorMessage);
    } 
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
 
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }
 
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
 
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }
 
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else { 
            if (returndata.length > 0) { 

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}
 
interface IERC721Receiver { 
    function onERC721Received(
        address operator,
        address from,
        uint256 tokenId,
        bytes calldata data
    ) external returns (bytes4);
}
 
interface IERC165 { 
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}
 
abstract contract ERC165 is IERC165 { 
    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IERC165).interfaceId;
    }
} 
interface IERC721 is IERC165 { 
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); 
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); 
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved); 
    function balanceOf(address owner) external view returns (uint256 balance); 
    function ownerOf(uint256 tokenId) external view returns (address owner); 
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external; 
    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external; 
    function approve(address to, uint256 tokenId) external;
 
    function getApproved(uint256 tokenId) external view returns (address operator); 
    function setApprovalForAll(address operator, bool _approved) external; 
    function isApprovedForAll(address owner, address operator) external view returns (bool); 
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes calldata data
    ) external;
} 
interface IERC721Enumerable is IERC721 { 
    function totalSupply() external view returns (uint256); 
    function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); 
    function tokenByIndex(uint256 index) external view returns (uint256);
}  
interface IERC721Metadata is IERC721 { 
    function name() external view returns (string memory); 
    function symbol() external view returns (string memory); 
    function tokenURI(uint256 tokenId) external view returns (string memory);
} 
contract ERC721A is
  Context,
  ERC165,
  IERC721,
  IERC721Metadata,
  IERC721Enumerable
{
  using Address for address;
  using Strings for uint256;

  struct TokenOwnership {
    address addr;
    uint64 startTimestamp;
  }

  struct AddressData {
    uint128 balance;
    uint128 numberMinted;
  }

  uint256 private currentIndex = 0;

  uint256 internal immutable collectionSize;
  uint256 internal immutable maxBatchSize; 
  string private _name; 
  string private _symbol; 
  mapping(uint256 => TokenOwnership) private _ownerships; 
  mapping(address => AddressData) private _addressData; 
  mapping(uint256 => address) private _tokenApprovals; 
  mapping(address => mapping(address => bool)) private _operatorApprovals; 
  constructor(
    string memory name_,
    string memory symbol_,
    uint256 maxBatchSize_,
    uint256 collectionSize_
  ) {
    require(
      collectionSize_ > 0,
      "ERC721A: collection must have a nonzero supply"
    );
    require(maxBatchSize_ > 0, "ERC721A: max batch size must be nonzero");
    _name = name_;
    _symbol = symbol_;
    maxBatchSize = maxBatchSize_;
    collectionSize = collectionSize_;
  } 
  function totalSupply() public view override returns (uint256) {
    return currentIndex;
  } 
  function tokenByIndex(uint256 index) public view override returns (uint256) {
    require(index < totalSupply(), "ERC721A: global index out of bounds");
    return index;
  } 
  function tokenOfOwnerByIndex(address owner, uint256 index)
    public
    view
    override
    returns (uint256)
  {
    require(index < balanceOf(owner), "ERC721A: owner index out of bounds");
    uint256 numMintedSoFar = totalSupply();
    uint256 tokenIdsIdx = 0;
    address currOwnershipAddr = address(0);
    for (uint256 i = 0; i < numMintedSoFar; i++) {
      TokenOwnership memory ownership = _ownerships[i];
      if (ownership.addr != address(0)) {
        currOwnershipAddr = ownership.addr;
      }
      if (currOwnershipAddr == owner) {
        if (tokenIdsIdx == index) {
          return i;
        }
        tokenIdsIdx++;
      }
    }
    revert("ERC721A: unable to get token of owner by index");
  } 
  function supportsInterface(bytes4 interfaceId)
    public
    view
    virtual
    override(ERC165, IERC165)
    returns (bool)
  {
    return
      interfaceId == type(IERC721).interfaceId ||
      interfaceId == type(IERC721Metadata).interfaceId ||
      interfaceId == type(IERC721Enumerable).interfaceId ||
      super.supportsInterface(interfaceId);
  } 
  function balanceOf(address owner) public view override returns (uint256) {
    require(owner != address(0), "ERC721A: balance query for the zero address");
    return uint256(_addressData[owner].balance);
  }

  function _numberMinted(address owner) internal view returns (uint256) {
    require(
      owner != address(0),
      "ERC721A: number minted query for the zero address"
    );
    return uint256(_addressData[owner].numberMinted);
  }

  function ownershipOf(uint256 tokenId)
    internal
    view
    returns (TokenOwnership memory)
  {
    require(_exists(tokenId), "ERC721A: owner query for nonexistent token");

    uint256 lowestTokenToCheck;
    if (tokenId >= maxBatchSize) {
      lowestTokenToCheck = tokenId - maxBatchSize + 1;
    }

    for (uint256 curr = tokenId; curr >= lowestTokenToCheck; curr--) {
      TokenOwnership memory ownership = _ownerships[curr];
      if (ownership.addr != address(0)) {
        return ownership;
      }
    }

    revert("ERC721A: unable to determine the owner of token");
  } 
  function ownerOf(uint256 tokenId) public view override returns (address) {
    return ownershipOf(tokenId).addr;
  } 
  function name() public view virtual override returns (string memory) {
    return _name;
  } 
  function symbol() public view virtual override returns (string memory) {
    return _symbol;
  } 
  function tokenURI(uint256 tokenId)
    public
    view
    virtual
    override
    returns (string memory)
  {
    require(
      _exists(tokenId),
      "ERC721Metadata: URI query for nonexistent token"
    );

    string memory baseURI = _baseURI();
    return
      bytes(baseURI).length > 0
        ? string(abi.encodePacked(baseURI, tokenId.toString(),_getUriExtension()))
        : "";
  } 
  function _baseURI() internal view virtual returns (string memory) {
    return "";
  }

  function _getUriExtension() internal view virtual returns (string memory) {
    return "";
  }
 
  function approve(address to, uint256 tokenId) public override {
    address owner = ERC721A.ownerOf(tokenId);
    require(to != owner, "ERC721A: approval to current owner");

    require(
      _msgSender() == owner || isApprovedForAll(owner, _msgSender()),
      "ERC721A: approve caller is not owner nor approved for all"
    );

    _approve(to, tokenId, owner);
  } 
  function getApproved(uint256 tokenId) public view override returns (address) {
    require(_exists(tokenId), "ERC721A: approved query for nonexistent token");

    return _tokenApprovals[tokenId];
  } 
  function setApprovalForAll(address operator, bool approved) public override {
    require(operator != _msgSender(), "ERC721A: approve to caller");

    _operatorApprovals[_msgSender()][operator] = approved;
    emit ApprovalForAll(_msgSender(), operator, approved);
  }
 
  function isApprovedForAll(address owner, address operator)
    public
    view
    virtual
    override
    returns (bool)
  {
    return _operatorApprovals[owner][operator];
  }
 
  function transferFrom(
    address from,
    address to,
    uint256 tokenId
  ) public override {
    _transfer(from, to, tokenId);
  } 
  function safeTransferFrom(
    address from,
    address to,
    uint256 tokenId
  ) public override {
    safeTransferFrom(from, to, tokenId, "");
  } 
  function safeTransferFrom(
    address from,
    address to,
    uint256 tokenId,
    bytes memory _data
  ) public override {
    _transfer(from, to, tokenId);
    require(
      _checkOnERC721Received(from, to, tokenId, _data),
      "ERC721A: transfer to non ERC721Receiver implementer"
    );
  } 
  function _exists(uint256 tokenId) internal view returns (bool) {
    return tokenId < currentIndex;
  }

  function _safeMint(address to, uint256 quantity) internal {
    _safeMint(to, quantity, "");
  } 
  function _safeMint(
    address to,
    uint256 quantity,
    bytes memory _data
  ) internal {
    uint256 startTokenId = currentIndex;
    require(to != address(0), "ERC721A: mint to the zero address"); 
    require(!_exists(startTokenId), "ERC721A: token already minted");
    require(quantity <= maxBatchSize, "ERC721A: quantity to mint too high");

    _beforeTokenTransfers(address(0), to, startTokenId, quantity);

    AddressData memory addressData = _addressData[to];
    _addressData[to] = AddressData(
      addressData.balance + uint128(quantity),
      addressData.numberMinted + uint128(quantity)
    );
    _ownerships[startTokenId] = TokenOwnership(to, uint64(block.timestamp));

    uint256 updatedIndex = startTokenId;

    for (uint256 i = 0; i < quantity; i++) {
      emit Transfer(address(0), to, updatedIndex);
      require(
        _checkOnERC721Received(address(0), to, updatedIndex, _data),
        "ERC721A: transfer to non ERC721Receiver implementer"
      );
      updatedIndex++;
    }

    currentIndex = updatedIndex;
    _afterTokenTransfers(address(0), to, startTokenId, quantity);
  } 
  function _transfer(
    address from,
    address to,
    uint256 tokenId
  ) private {
    TokenOwnership memory prevOwnership = ownershipOf(tokenId);

    bool isApprovedOrOwner = (_msgSender() == prevOwnership.addr ||
      getApproved(tokenId) == _msgSender() ||
      isApprovedForAll(prevOwnership.addr, _msgSender()));

    require(
      isApprovedOrOwner,
      "ERC721A: transfer caller is not owner nor approved"
    );

    require(
      prevOwnership.addr == from,
      "ERC721A: transfer from incorrect owner"
    );
    require(to != address(0), "ERC721A: transfer to the zero address");

    _beforeTokenTransfers(from, to, tokenId, 1); 
    _approve(address(0), tokenId, prevOwnership.addr);

    _addressData[from].balance -= 1;
    _addressData[to].balance += 1;
    _ownerships[tokenId] = TokenOwnership(to, uint64(block.timestamp)); 
    uint256 nextTokenId = tokenId + 1;
    if (_ownerships[nextTokenId].addr == address(0)) {
      if (_exists(nextTokenId)) {
        _ownerships[nextTokenId] = TokenOwnership(
          prevOwnership.addr,
          prevOwnership.startTimestamp
        );
      }
    }

    emit Transfer(from, to, tokenId);
    _afterTokenTransfers(from, to, tokenId, 1);
  } 
  function _approve(
    address to,
    uint256 tokenId,
    address owner
  ) private {
    _tokenApprovals[tokenId] = to;
    emit Approval(owner, to, tokenId);
  }

  uint256 public nextOwnerToExplicitlySet = 0; 
  function _setOwnersExplicit(uint256 quantity) internal {
    uint256 oldNextOwnerToSet = nextOwnerToExplicitlySet;
    require(quantity > 0, "quantity must be nonzero");
    uint256 endIndex = oldNextOwnerToSet + quantity - 1;
    if (endIndex > collectionSize - 1) {
      endIndex = collectionSize - 1;
    } 
    require(_exists(endIndex), "not enough minted yet for this cleanup");
    for (uint256 i = oldNextOwnerToSet; i <= endIndex; i++) {
      if (_ownerships[i].addr == address(0)) {
        TokenOwnership memory ownership = ownershipOf(i);
        _ownerships[i] = TokenOwnership(
          ownership.addr,
          ownership.startTimestamp
        );
      }
    }
    nextOwnerToExplicitlySet = endIndex + 1;
  } 
  function _checkOnERC721Received(
    address from,
    address to,
    uint256 tokenId,
    bytes memory _data
  ) private returns (bool) {
    if (to.isContract()) {
      try
        IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data)
      returns (bytes4 retval) {
        return retval == IERC721Receiver(to).onERC721Received.selector;
      } catch (bytes memory reason) {
        if (reason.length == 0) {
          revert("ERC721A: transfer to non ERC721Receiver implementer");
        } else {
          assembly {
            revert(add(32, reason), mload(reason))
          }
        }
      }
    } else {
      return true;
    }
  } 
  function _beforeTokenTransfers(
    address from,
    address to,
    uint256 startTokenId,
    uint256 quantity
  ) internal virtual {} 
  function _afterTokenTransfers(
    address from,
    address to,
    uint256 startTokenId,
    uint256 quantity
  ) internal virtual {}
}

contract CashCrabs is Ownable, ERC721A, ReentrancyGuard {
    using Strings for uint256;


  uint256 public MAX_PER_Transtion = 5; // maximam amount that user can mint
  uint256 public MAX_PER_Address = 5; // maximam amount that user can mint

  uint256 public  PRICE = 25*10**15; //0.025 ether 

  uint256 private constant TotalCollectionSize_ = 10000; // total number of nfts
  uint256 private constant MaxMintPerBatch_ = 10; //max mint per traction

  bool public _revelNFT = false;
  string private _baseTokenURI;
  string private _uriBeforeRevel;

  uint public status = 1; //0-pause 2-whitelist 3-public

  mapping(address => bool) private whitelistedAddresses;

  constructor() ERC721A("Cash Crabs","CashCrabs", MaxMintPerBatch_, TotalCollectionSize_) {
    _uriBeforeRevel = "https://cashcrabs.mypinata.cloud/ipfs/QmPXLXoPTKGg9SdacJiZUo2H8ECSQtN2YsdPvm8F5LWyRv";
    whitelistedAddresses[0xFD845e60eAea6c960d2a2b6F490b53D26925D5cB] = true;
    whitelistedAddresses[0xFD845e60eAea6c960d2a2b6F490b53D26925D5cB] = true;
    whitelistedAddresses[0x09C624d5271A1f7e6A2588e778a4d48bb90A6952] = true;
    whitelistedAddresses[0x720Ff27ee0Cae603D54c915c2c2aAe9E467a3Ae8] = true;
    whitelistedAddresses[0x4067B5677eef1550C22AfF13477B7a919fA35020] = true;
    whitelistedAddresses[0xD6d57d174BE03101c29C1EB3a335559014896BC7] = true;
    whitelistedAddresses[0xfeD7219F6fd43b4D04e4f3F0fA515cFFb5C5de62] = true;
    whitelistedAddresses[0xeDcDd23C6A0a3B16C0C2d3e92C65D5D3b153290F] = true;
    whitelistedAddresses[0x0dcD05914C75A62471F35c6f3F361F84c39DfaB5] = true;
    whitelistedAddresses[0xbb767d5627A75C0943b917d980738E2c601770B6] = true;
    whitelistedAddresses[0xe2Bb817747136d290E5238Ed2ee2db91C96264cD] = true;
    whitelistedAddresses[0xb30D955Afc668EaB195f271D746484928A52cd49] = true;
    whitelistedAddresses[0xCd7aB7280b0DBb253EB109381daA07a0163c58B6] = true;
    whitelistedAddresses[0xCBF699Fc4FA85BC2Ca45BB63ADBFe78264Cc5813] = true;
    whitelistedAddresses[0x4De76a2D2A4deCFd68566889E63D571173F930e4] = true;
    whitelistedAddresses[0x53808009dC1A8e4A36039838B4d56CAea186F9F3] = true;
    whitelistedAddresses[0x9E5435685733787D1Bb5B6e434353C65cAB7c21d] = true;
    whitelistedAddresses[0x731464dd177Cac2d5E7aae58ccc58239B5f3aC43] = true;
    whitelistedAddresses[0x6490cf86E43b1d855fbD7f397E9c63F43dB40eA2] = true;
    whitelistedAddresses[0xAC065C832679b458008c916B1916cA93CA02568a] = true;
    whitelistedAddresses[0x40E4D03F8fF764B7857D0Da4181F0f31a7130C34] = true;
    whitelistedAddresses[0x47673689Fc0a7a22C024079292FfEbBD21A086fE] = true;
    whitelistedAddresses[0x9D2a6aA0b01118b021Ff3e940956e9659Ad3CCE6] = true;
    whitelistedAddresses[0x13e9272AE78459bD5c03e7CC33CF3cC83F765e90] = true;
    whitelistedAddresses[0xcbDAE7c71801BEDcb1bD156ecD665581c43b8112] = true;
    whitelistedAddresses[0x64d79EBEE793b7e546D7D02A8A2ab942775EaA31] = true;
    whitelistedAddresses[0x3c132DDfd6A307126226Ab9f82c951E3989e14dc] = true;
    whitelistedAddresses[0x7595D27eC13Be0A19EDBCFC7d55FE59534d6CC88] = true;
    whitelistedAddresses[0xF279d2934e937880bC486D19AB9A65A8eF4b49c0] = true;
    whitelistedAddresses[0xAf1d737345c84fF50b51E51FeF975Ae9ab31A45f] = true;
    whitelistedAddresses[0x7681712a55587A1E9b6eAb1ea828e4e14059106e] = true;
    whitelistedAddresses[0xA5D4A2c359C958C0530E37d801e851f7b7F7D69c] = true;
    whitelistedAddresses[0xE519E23fbF1a88bf9387FeDD662778b0b348e56A] = true;
    whitelistedAddresses[0x58C0e1CcCfc458f026E67f260BB25D8c71c1de2f] = true;
    whitelistedAddresses[0x7AeC2A61D9bc8e899Eb6e41CeDAF24983D4B1A7e] = true;
    whitelistedAddresses[0xa6f17FC0fcc0467fdBeb01f9bEf47d264B0ee772] = true;
    whitelistedAddresses[0xB868B2ca33365f784df87E31CefAA1E00a8386b5] = true;
    whitelistedAddresses[0x9A46731349080730299880307193a07D0153293d] = true;
    whitelistedAddresses[0x7c400954350b1338A7ead552c41521327D121146] = true;
    whitelistedAddresses[0xfcc1F854c979f61bCA87E651e72E45a72807915b] = true;
    whitelistedAddresses[0x64aA6b8F0e11473E5ef63a224E6E4E3ac63Ef954] = true;
    whitelistedAddresses[0x65f7E3EA4c1507F50467B7334E6d8f7547bb41D3] = true;
    whitelistedAddresses[0xF3Fb8Ba5b9B9DAbec152112A9DDc69D80b1cA07e] = true;
    whitelistedAddresses[0xb57F96B20ECCDD099845B67f8f590c907f4455CC] = true;
    whitelistedAddresses[0x19C99c068B4b3292c819429DA4550a2E36f9f943] = true;
    whitelistedAddresses[0x3Aa26AfDC92b2B09D6AfD3da1a8C11D2EED3772f] = true;
    whitelistedAddresses[0x70B3f80ed5d612005E784312EB335672DD86b16d] = true;
    whitelistedAddresses[0x4bFde9c1Ab8887452A2a9fB80b6F60e013108eA2] = true;
    whitelistedAddresses[0x3F69a1B4fed4408EF9724ad8879d92840d5AaEb2] = true;
    whitelistedAddresses[0xE4Aae6489A1215D1eEbd0cEE8409A77EE7BE467F] = true;
    whitelistedAddresses[0x62f841f3d4E299648CF66f23B71c578D755B2bF7] = true;
    whitelistedAddresses[0x9Cdb12deFD0838E54b4d1EE3261EDe601649E634] = true;
    whitelistedAddresses[0x7d992C2E88D8d35bFf5d6712eEee2c9445329238] = true;
    whitelistedAddresses[0x89Dc9bBEe3075a6d745E3Db6ae113A2aD3F1E545] = true;
    whitelistedAddresses[0x51015f7bfE495Eb5C1daeddaff63d0bA39eDc285] = true;
    whitelistedAddresses[0x039c8590c9a04Cb2451cDA75734861bc4DA31609] = true;
    whitelistedAddresses[0x11ab9463418E47Fc5D9Fe2a17f662AdB19B295C1] = true;
    whitelistedAddresses[0xc03BBC9038b16158d80Dd740F47DE733727E8b23] = true;
    whitelistedAddresses[0x1E93e03cb1798B853262A2b7cA19D7ae642bC8B7] = true;
    whitelistedAddresses[0x373FC2d830B2fcF7731F42Ab9D0D89E552da6ccB] = true;
    whitelistedAddresses[0xb63B9D76324c5BEe81fBF50DfeBB54eB7f3E33a6] = true;
    whitelistedAddresses[0xc5745B750c91ee9752c0C74FB6f91BCC26e6FC9a] = true;
    whitelistedAddresses[0x49825062451be8119A78Ac21Ddb7Dc79BDc1f7F6] = true;
    whitelistedAddresses[0x17171C667608A1d1Aa116Cd9B94e0A7e3620D861] = true;
    whitelistedAddresses[0xbC4fF24fEb140810ACe88E10883eb23D3880E9b3] = true;
    whitelistedAddresses[0x216885e1A68daD7d3936E7E012fa79223c6075A4] = true;
    whitelistedAddresses[0x9D94B5B752555e793F6B1E46eD9654470C459944] = true;
    whitelistedAddresses[0x28C01C0c0C7C25c763CBCa88446038Dc6B1fbA54] = true;
    whitelistedAddresses[0x99f18373BA0b123D59f1BE56C7F689ef6DdfDEa2] = true;
    whitelistedAddresses[0xBe628f65E995242D138A1461c75677B39fAf93C4] = true;
    whitelistedAddresses[0x34ff8a1B5286753161Baa0bCC446D7D6Dc3857dF] = true;
    whitelistedAddresses[0x659815937Af07f40B39B93bF16962ac1754ABBfd] = true;
    whitelistedAddresses[0x4B300A87272db2ca1b30d21d64CDd345C4b80AfC] = true;
    whitelistedAddresses[0x3c0Dd608611D552cf8cc7A0A4B51Bb8D808Ad886] = true;
    whitelistedAddresses[0x9DF087ADa77aF80F553DC0d2FB43C18dC5a6B444] = true;
    whitelistedAddresses[0x746849550373B814dfD93D8fc2a9D37CbC226bB8] = true;
    whitelistedAddresses[0x962772AE26a8098A49cfE01Fe3f6ce68C92F9B5f] = true;
    whitelistedAddresses[0x7A420e46405b573C0Aa96b12E80405A3819D3E6b] = true;
    whitelistedAddresses[0x7b6AEe8165B8e0f3d8c4a8c4651bBd2E89e37631] = true;
    whitelistedAddresses[0xa36EB29607D5deB20d0d6Dc49810cA7a23EB0B27] = true;
    whitelistedAddresses[0x96Cb84ac416602cec04B6778fa3F8e588e84cc95] = true;
    whitelistedAddresses[0x1101AAe94F9d196AC65Bbd440dB1ef0F639E80AE] = true;
    whitelistedAddresses[0xCef9709b428692C92F99BD193dcbBDf8f76A6C01] = true;
    whitelistedAddresses[0x647B7881b8A63FD8C6AAb5b0244b9067223d0e12] = true;
    whitelistedAddresses[0x960104582B294466F3DC3d6d5Ff7a618376772e5] = true;
    whitelistedAddresses[0x2B143cC08cdd999d92FDf44afeA5eBDC7296d90A] = true;
    whitelistedAddresses[0x2F22A600c056848bBEBcdea3645f736B62A8B85B] = true;
    whitelistedAddresses[0xcc2e464CbcE1B11108460cee52e3Cd82E887CbF8] = true;
    whitelistedAddresses[0x191c445ab08764f12C821857961CFEa5B837f276] = true;
    whitelistedAddresses[0x98139f943753Bb98ED5b346621d38DaDd51b416f] = true;
    whitelistedAddresses[0x8D3521b68D831d853A8A383CaA0735E69e3274E0] = true;
    whitelistedAddresses[0xCC0960243d099BCaE96c0D1AEACDdA01434d2ebc] = true;
    whitelistedAddresses[0x07cE5Db5F75E58d657926B636b9aD3e3869C91B4] = true;
    whitelistedAddresses[0x770aeEeFC75134558464d365d6C135f49162A5dB] = true;
    whitelistedAddresses[0x3Ad82E1312895eEe9720ccaBAd3a7f5F226d44BE] = true;
    whitelistedAddresses[0x756dA266dbb35f65645A8111516d0F0C09B372b5] = true;
    whitelistedAddresses[0x76eE43FdcF297AAf373e1981B9F9d4470EdeB71B] = true;
    whitelistedAddresses[0xEa594C9E54eCA6b36DbED9E1E2b22e592B5a3C1E] = true;
    whitelistedAddresses[0x76A80D9E29Aa41Fc8A84a827037F977C06B585fA] = true;
    whitelistedAddresses[0x482F8c1c569A597b6Ad258D979cF919037eb6424] = true;
    whitelistedAddresses[0x588f288Eb412E00b712C6AC18cD95BA1eB62fec3] = true;
    whitelistedAddresses[0x31c9b0554DA42f8c09E3458E4603E377FBa1b3Bf] = true;
    whitelistedAddresses[0x1239F236aA9cadA354B46df3d72b67Bf8eE41469] = true;
    whitelistedAddresses[0x9ae0816138b67b3CD2bA9680AAF983588243D0fd] = true;
    whitelistedAddresses[0xa3dE87BFB56690bb0737d4a4db1A61B554d3F81e] = true;
    whitelistedAddresses[0x8D2DCbBc57092d7DD114EDB923adB31053552DB4] = true;
    whitelistedAddresses[0xfB7587d77DA8c9c60E5Ab3D92962d045e7aBfa1B] = true;
    whitelistedAddresses[0x64A0d2ce34c2897D05fcFD6BE9742Fe2Fad182d2] = true;
    whitelistedAddresses[0x9c9272ee0e9A29E31bDac7d21A9d9a2A3d52e3e8] = true;
    whitelistedAddresses[0x5f9BE6B4F8025dA41239c608503a0cc998557e46] = true;
    whitelistedAddresses[0xaCBea6Bae19e4Da3F54f43459B9d7b6F6187B8Ca] = true;
    whitelistedAddresses[0xfcC99f087f32E560e99eC4feE1188a76F40FEE83] = true;
    whitelistedAddresses[0x6F941D19Cb5BC61Be7127dFa2e040A2ec17fBA63] = true;
    whitelistedAddresses[0x337e95D89875D43A57484048B9283b835f74E7Ae] = true;
    whitelistedAddresses[0x791FcE94B7D9cA5fe0a94636901F3d77E6aEE1E3] = true;
    whitelistedAddresses[0x43570CFaC4eE5fC682ABE2a2902Fbe1CE22a2841] = true;
    whitelistedAddresses[0x34DB797738c12DB1547E5C5fbC1BF6e00CBE65C5] = true;
    whitelistedAddresses[0x50ECfC76876E109bFD367F9C8A1a4ad2A493b063] = true;
    whitelistedAddresses[0x76D0AD6863b627F5786E7C6d17BC67426A9a2787] = true;
    whitelistedAddresses[0xb0E1dF6A0E18Fb6312Bdb1B7B0C41902E3420206] = true;
    whitelistedAddresses[0x2B5b0128B3821cDe5A9e90b921846B53B470e335] = true;
    whitelistedAddresses[0x07f97E3ad47C61dd67E9b59A9Bb9E83F6f709171] = true;
    whitelistedAddresses[0x4925de66FA9f53AA69421eD92b4d2EBc13A688D0] = true;
    whitelistedAddresses[0x2e664181c7E34cC5419c6094AcEb5C30B4972436] = true;
    whitelistedAddresses[0xc3C07157ed646e42c7Ac977b1603f45276b30F99] = true;
    whitelistedAddresses[0x1Cc839b23A915944276B7f594F8621E9ea537ECc] = true;
    whitelistedAddresses[0x705EFF609194673Fd01F0eBB199E65ea84a238cd] = true;
    whitelistedAddresses[0x7C2acf7ceD1f246f65f4D29fBEe4eB3D285D9738] = true;
    whitelistedAddresses[0x184b2665B176FEABBeadf63D49B47109121122eb] = true;
    whitelistedAddresses[0xfFD47BB6245868DC7c263387Ff2745CD998D23CF] = true;
    whitelistedAddresses[0xa15c2e11bCeDe084dB837c188D06c6EA039A8F74] = true;
    whitelistedAddresses[0xFE72cC7CfDC090299E1FF451cf1B542E6d4155a4] = true;
    whitelistedAddresses[0xab24F8ecEf60Ea9ec577e1f556BAdF1483961E9B] = true;
    whitelistedAddresses[0xB2da8A18710337658D37Ec027FaC3ef97e683D06] = true;
    whitelistedAddresses[0x2C78A83F0949EDbf8B0d5c4b1cD116194b56ac05] = true;
    whitelistedAddresses[0x6D624565F1F2070FDc7088474125c5ba80f041cA] = true;
    whitelistedAddresses[0xbeBcf96eEEd98D495F45407CE7017179738E3552] = true;
    whitelistedAddresses[0x4bfc251cBf1eeae80D94EB01d6271C0e51f63648] = true;
    whitelistedAddresses[0x5CE948C7d30e6EF56f75Ce7520e46bae12B454fd] = true;
    whitelistedAddresses[0x0232670c2F60fddDB3c642cC40C7C491Aa52Ad57] = true;
    whitelistedAddresses[0xabE8F776B5B33D842188BA42BFC5fC72d23de80E] = true;
    whitelistedAddresses[0xeE0f9973B2159229AaA0b5E90a704F9da72A8Da1] = true;
    whitelistedAddresses[0x8908e0318fa424370AC9511E0AC04A846B484D67] = true;
    whitelistedAddresses[0x1A63AfFE77eF0CD9c7f411633664200b04878E6c] = true;
    whitelistedAddresses[0xAE9BBAc063Fe60A77e7adBBB04Ce9aBcC39517e5] = true;
    whitelistedAddresses[0x3Bbf6E6c15C93375e00601a034D13Dc9AFc8a763] = true;
    whitelistedAddresses[0xD7C5D20e834009aA70B97E2F4760eDc173FDAbaB] = true;
    whitelistedAddresses[0x18171255F7d009bc21f80D0266F5d175f170C75D] = true;
    whitelistedAddresses[0x1b48012465eD4b770Ce11AB18aE1e701E6DfaF58] = true;
    whitelistedAddresses[0xD4D27FbD73fBa326282f3bf178Ed569CcbC4F9b5] = true;
    whitelistedAddresses[0x3513E4a60Fb4C3a272C8290F76aC924d606EA15d] = true;
    whitelistedAddresses[0x31F7f4Fe1bce32a99b99a616D81AFeFeC53F1FcB] = true;
    whitelistedAddresses[0x04D725941898d965A4DdE8cB40590A9BEB193da3] = true;
    whitelistedAddresses[0xF56535df84290396B92fcda58815812477C4a184] = true;
    whitelistedAddresses[0x5D54Bd4971ad61f298927dA1a3F85e6d88BCE1B1] = true;
    whitelistedAddresses[0x79cBd1D0c08217ed8b448A82ed714c3F3205eEe1] = true;
    whitelistedAddresses[0xE6e566aBc75317c04C39dDb5cD67De735a71f567] = true;
    whitelistedAddresses[0xaD97112509cbb091BD2FC1Fb2ce6531f1BBCE1c0] = true;
    whitelistedAddresses[0x73285945fC85CC1F7cE8AE254E3F6d83E3668270] = true;
    whitelistedAddresses[0x4cbC27Eb49022dC70694Fc3f6297beFb9d96aE18] = true;
    whitelistedAddresses[0xdb4551F4704Dea5Cd761Ee5d00f371b18Dca1085] = true;
    whitelistedAddresses[0x8cd5C2d368c1275D5ee8079A48A4fF80298eC314] = true;
    whitelistedAddresses[0xD0f9DAe23568f78c545A07A9C16228357F6401e8] = true;
    whitelistedAddresses[0x72169E50e2E3Ce7A767Cf5CD9336e8910D4b13D0] = true;
    whitelistedAddresses[0x7838950FC3A25234c03a0e63B2AACA978aB1A602] = true;
    whitelistedAddresses[0x648B5F5A5749749dE6edE1eBc88cD99d28B3ffD9] = true;
    whitelistedAddresses[0xBb7d11B97f07011f754fb5552248989ACFDECde3] = true;
    whitelistedAddresses[0x633c17B318b92b708949E4D82d32BCc6859083b0] = true;
    whitelistedAddresses[0xAddc39cE24076366276f702864E0a4c0aB9798f8] = true;
    whitelistedAddresses[0x9b5358Abf4C8328FB024ebAB6B5B095B08b5564B] = true;
    whitelistedAddresses[0x3811c005C183FA8104a72499a6F85Cb6bd644eAc] = true;
    whitelistedAddresses[0x06Fa86E319D35AAC2006E1f8273a3cA10a4FB2Fa] = true;
    whitelistedAddresses[0x688d4B0eb01FB0dfEF34818b5D1827fBDeF3184D] = true;
    whitelistedAddresses[0x3B2263A4a9D02E33E44CcD7bdf248CEF5eC633bc] = true;
    whitelistedAddresses[0x9bc4c78867a4816688d3F1bE696cdAaFd469bd0D] = true;
    whitelistedAddresses[0x420a7b48D7e34010a803257A10Ad9d95f8b2f88E] = true;
    whitelistedAddresses[0x2968B496A7A821B9a67011CF60f672571633CaD6] = true;
    whitelistedAddresses[0x0F7EEcc8cDfEcF83A3B6E93F34701C85d23a1E62] = true;
    whitelistedAddresses[0x8f432c6aa4da9298baa589Ae7539eA5746e8C474] = true;
    whitelistedAddresses[0x9FF4e59895012c634277E99171D1124B0F2c01eD] = true;
    whitelistedAddresses[0xcAB1EE41b663B712fd58fbaAE2a1f04591107Faa] = true;
    whitelistedAddresses[0x1D88F10627EcB8e596A5Ab451C2DF958f69BeFDC] = true;
    whitelistedAddresses[0x5bc53477dA64B971b09BEd40119f5F7bf0dA9667] = true;
    whitelistedAddresses[0x1688CA553e48049f192DC727fF14414BF1524243] = true;
    whitelistedAddresses[0x3d218b77bE29900ca97a7bdabaC7d665B05Be84A] = true;
    whitelistedAddresses[0x6617De1aEFCddA76c458018Bb9608e1E6A25Ad5B] = true;
    whitelistedAddresses[0x41CFcC63981CD09201A37dF7f515307FBaDf51F8] = true;
    whitelistedAddresses[0x54BF374c1a0eb4C52017Cc52Cf1633327EE3E985] = true;
    whitelistedAddresses[0x4efb7B6E34616Ae0f79f2D2644Caeea299ed941a] = true;
    whitelistedAddresses[0x5C21120970aa4D6a8ED6A8635aC84f21Bb55F1fA] = true;
    whitelistedAddresses[0xBF89828935484b3A4801Ed5e09718d6Bb60B46b4] = true;
    whitelistedAddresses[0xFfa4A51dFae1E8d43fA800dC639ca68B68D576b7] = true;
    whitelistedAddresses[0x7169301ebdBE4f2c86859991423A24EbbF91461E] = true;
    whitelistedAddresses[0x1c6F0082BE9Cb71DF7609917864FAdBB8A8599E7] = true;
    whitelistedAddresses[0x14e00A153296881C5A07c778D3Af97E21Ac4f978] = true;
    whitelistedAddresses[0x5Fe3055DB0D8cF215514E2787f9b414c2a52e6D8] = true;
    whitelistedAddresses[0x068481A3019C5fd50862C8FfFF53B3b70fa382bF] = true;
    whitelistedAddresses[0xAF4cF2A6Dc9F530B44b7fd9406B83258C79b2c71] = true;
    whitelistedAddresses[0xB13E94dd61ab15AE70F6294Ac2F41C578EEd39Dc] = true;
    whitelistedAddresses[0x9c0b69e3013fe53f276d79698E44E3149c62fa13] = true;
    whitelistedAddresses[0xB0c5e7CEB566CdD8EFB4B8dA79966FB6aB708F26] = true;
    whitelistedAddresses[0xc263776D9eA1BB86B4C5cd857a6454d1F47FCa59] = true;
    whitelistedAddresses[0x504f0BAf0810a9A3265BEBe18ee25474800ffc45] = true;
    whitelistedAddresses[0x0497E94c77029Af09517A74191ac86e15f3078C3] = true;
    whitelistedAddresses[0x47fD3F28ABe2CEa99C9c9Be02C7302e2D3bAC0E9] = true;
    whitelistedAddresses[0x471d62DB54a53dB851155b3Cb7Cb5F78A676B7c6] = true;
    whitelistedAddresses[0xAE58AA169CF8cE4Ff8FA6C24a1F434ff75c9b012] = true;
    whitelistedAddresses[0x7032d9D143C5e6750187e4184137104968b4363C] = true;
    whitelistedAddresses[0x7A504c602e4Db6A5e6f089d2d8539c77a79B5Bb9] = true;
    whitelistedAddresses[0x7d67ca153360582AE4721bC60589373b3d5Cec63] = true;
    whitelistedAddresses[0x0fa24CDA3012Fa9186496384c75C09a17Fee5A06] = true;
    whitelistedAddresses[0x83cAa0744780E228DB4E416F29589c074aB18512] = true;
    whitelistedAddresses[0x3c72910bc8364F9619F8b43b5A250bE6113995a0] = true;
    whitelistedAddresses[0x63EcC314a1cfeDA4c78ed516D20a8bE67dA280c2] = true;
    whitelistedAddresses[0xd6b1370243a68dAA835A14c451d3f0d22116BEc4] = true;
    whitelistedAddresses[0x97Bb12e8427E6FDC7881927dB0B0dA14445327BB] = true;
    whitelistedAddresses[0x8fd4f55A3a3f8F3cF461bD4A6a3FfeE937FBF75c] = true;
    whitelistedAddresses[0x818A9b822aD7840c096E6726321f194b47Ae31c2] = true;
    whitelistedAddresses[0xA4020bE699215A3B7712ffBa8fcA763820BdbDb6] = true;
    whitelistedAddresses[0xad3bfc3C00d7509bC01b54A1E07eB4746ffa361b] = true;
    whitelistedAddresses[0x835bBe0f99c15C2CB8FdF858868c1D3C52a50fa6] = true;
    whitelistedAddresses[0x976605C094a350c717E2Ed3D033197094AB05334] = true;
    whitelistedAddresses[0x3B8d244198d6e31aF5dCfaa1E51a920081fA7eAd] = true;
    whitelistedAddresses[0x853B811892B8107860E8b71e670a83C462B4A507] = true;
    whitelistedAddresses[0x0Be02eAb1fDF8C899A5086bFDEf0a336A1f12ba4] = true;
    whitelistedAddresses[0x2C72bc035Ba6242B7f7B7C1bdf0ed171A7c2b945] = true;
    whitelistedAddresses[0x194b3496E9d2FfAe6AF332350d33Af8B21cA9b5d] = true;
    whitelistedAddresses[0xa662ad1A0C36a51F6BfC72D5aD2D4a99791740bC] = true;
    whitelistedAddresses[0x6395303dc74AAdc38CBa51e8689dFa3519a13F0B] = true;
    whitelistedAddresses[0x3A086A1DEFdD5E9a62297abbFa9E91ab3e1CC16d] = true;
    whitelistedAddresses[0x8B6A413FB3512b1e56a175C89C32587bC23d91bF] = true;
    whitelistedAddresses[0x9991A1d42A63e41CD21C80e94c580d62A6E01471] = true;
    whitelistedAddresses[0xA221F8c497faB925073C182eDb4d305145b20F5F] = true;
    whitelistedAddresses[0x1B5413F8b60c67f3b4BE84d07ce57DC0D68986DC] = true;
    whitelistedAddresses[0x29CAa7a393cFE67576F81A8b77A22c7880aF5501] = true;
    whitelistedAddresses[0x227d93B231e70e7a6618D8bcb7eB68dC3D414F14] = true;
    whitelistedAddresses[0x46A2Ef74225423Ce13B4Ad479f71cb204b8Cc4B5] = true;
    whitelistedAddresses[0x3C469cbb8A35d753abcFb364b121647a4E6FEbc2] = true;
    whitelistedAddresses[0x02951D69f0A8eDed113100883e70AD133aDD3f56] = true;
    whitelistedAddresses[0xfE3F0624Dbc2036c47DeE835CDE6A19Fc0821538] = true;
    whitelistedAddresses[0x61109C7033C8003b0dECF6880c58fea718Ddd40e] = true;
    whitelistedAddresses[0x9BB4DBDb5D763cc5B1F678d5D5ce3f9cf765074F] = true;
    whitelistedAddresses[0x1124fF6bd2C98fbE62dc4C491a9d415c0FeC1BAF] = true;
    whitelistedAddresses[0x99da072869087Ce13bE20fCC7F13aE4D2aED4e4F] = true;
    whitelistedAddresses[0xDAFCe2279325b7314083320e9C82Be13f374E7c9] = true;
    whitelistedAddresses[0x6d80D27E181715b20Fec6A5492FC0B5f2a93931B] = true;
    whitelistedAddresses[0xb09511b387e0bbBd987FAc4433AFF5839dee5Ef4] = true;
    whitelistedAddresses[0x7ED0Fd948688aBf3785C5d8b7EeFCfbf82500fA0] = true;
    whitelistedAddresses[0x6483AFa117fD0c334f2A6D8D64149cf84FDd1dB2] = true;
    whitelistedAddresses[0xD281E80C2d2C8f09c22D0039124e94737019620e] = true;
    whitelistedAddresses[0xc424C67AB3A5A2D33AE5d234A7fd2c9eD55f807D] = true;
    whitelistedAddresses[0x70C8294446B02C70252992D1bC8Ed2E18E05be46] = true;
    whitelistedAddresses[0x8621AAA593eE6C2251d02647c67767b4C4EFbe12] = true;
    whitelistedAddresses[0x96242abC548D13d181857cb6Ffe32995e641fdAf] = true;
    whitelistedAddresses[0x01f2ea8D6594F6EB69027F7ddcc1D700bBdbBE48] = true;
    whitelistedAddresses[0x4f4354345088C9c320C9C048D0b36B1a73727Ce6] = true;
    whitelistedAddresses[0x3c3B59411792cdB893F167B3a7394eA9d125cD9A] = true;
    whitelistedAddresses[0x6b0e4EA76F522Cc337e4683e01d5B5779ab67f7b] = true;
    whitelistedAddresses[0xae29968890bFc0ea250abaFd30B0502B46214b81] = true;
    whitelistedAddresses[0xf82947b13c2a2A91B9c20b7B3b546b5Cb82e94A5] = true;
    whitelistedAddresses[0x8fB2F9DEFaA5a088E8ccfc01DaD56a938ae499E1] = true;
    whitelistedAddresses[0x3a61c3F67Df48E3f73509F6E58621a746797a645] = true;
    whitelistedAddresses[0x7F8235CC263A8Cbe81C642b6cdb53E488227Ca28] = true;
    whitelistedAddresses[0x6dd46d406BD1b9546c5b35da82E44fE7E141cbE8] = true;
    whitelistedAddresses[0x60f2f6718801CeFe0D2276a668a73d9EfD69a0A7] = true;
    whitelistedAddresses[0xF74A8D872597958e2889cc91d45BF2cAd6a3A364] = true;
    whitelistedAddresses[0x7FBeC09F7CE64b733260fB40acA15BF18528b3BB] = true;
    whitelistedAddresses[0x706108b116585805AfCC752e45d56C5Fa2f080FA] = true;
    whitelistedAddresses[0x4019868226fabBfB836d388beE5E870204371F9d] = true;
    whitelistedAddresses[0x69B3d3BE1D6CcFaEE8b48C9f5E37d634BEc99680] = true;
    whitelistedAddresses[0x8B56e84623d7Cb650F9863C9aa5CD1ffae3D62BC] = true;
    whitelistedAddresses[0xFBe871D0Aad0FDab932B60351aFD1006b03fda43] = true;
    whitelistedAddresses[0x22433e157a87d81D9F6460aaE4b89FfeEC2c382d] = true;
    whitelistedAddresses[0x04A65E8b543D4e1F7e1cC5d5118cb9B1b7aa20b1] = true;
    whitelistedAddresses[0x5bE67129914f502BAAd2791be0934F7dBa691500] = true;
    whitelistedAddresses[0xe8D531dC7122CBdEbD2Dd5E6D43DC09C9D1caAaB] = true;
    whitelistedAddresses[0xD49322ADD203C8e04ACDD53B7fF14B5E0AC861D7] = true;
    whitelistedAddresses[0x75eAD7715418F50F2285EAC120Ac003CE2e46227] = true;
    whitelistedAddresses[0xA6Fe464c7aAFF0827F264289a1E9b2b82cdb961a] = true;
    whitelistedAddresses[0xAdd9a6a1B6781eb889bB01326b5278032BD8E30e] = true;
    whitelistedAddresses[0x083eaD940335d6908CDb078df005Fb4C5f83A9b0] = true;
    whitelistedAddresses[0x9A4763bE8fFaD2F2EC958b8b3742b4D59Ec490e2] = true;
    whitelistedAddresses[0xd5a9C4a92dDE274e126f82b215Fccb511147Cd8e] = true;
    whitelistedAddresses[0x188408EF0c26225705f6Cdea6148f3f8Ed802348] = true;
    whitelistedAddresses[0xd5bB6ac79482467103263B818f2d8462224F6133] = true;
    whitelistedAddresses[0x6EF9Dca82362509cD878051D1FDC6dB12ddA2989] = true;
    whitelistedAddresses[0xD72D8eE3Ee73DeaB3137B2622F8e97BaDEa70900] = true;
    whitelistedAddresses[0xd4A645268CFE2806De8a3beF82c1FA79c99b1e1c] = true;
    whitelistedAddresses[0x43afdF4acd587b41b40693e820de52Da010A1c19] = true;
    whitelistedAddresses[0x6C8917547A0Dd8d3A9658DE9176837cFa9dd8933] = true;
    whitelistedAddresses[0xf873BeBDD61AB385D6b24C135BAF36C729CE8824] = true;
    whitelistedAddresses[0xEd034B287ea77A14970f1C0c8682a80a9468dBB3] = true;
    whitelistedAddresses[0x914FF77D2AA22E2604005ADa17a4eb54C2964131] = true;
    whitelistedAddresses[0x49B59DF9dF381B1634B81e3Ea12fcC0BB6Ae4498] = true;
    whitelistedAddresses[0xBbf63f18B363C1317aF8e48c6ecF2528955877be] = true;
    whitelistedAddresses[0x5EEb21cD9535c3130E683e5fFA51d25AE0926150] = true;
    whitelistedAddresses[0xaCf890389fF734d23aEAE8EA8bCBC1CB7b9fEE08] = true;
    whitelistedAddresses[0x48Fe093848d1a11B236C7d4450E6b6360B6bA7Ad] = true;
    whitelistedAddresses[0xB6C5B1a489606028Da263EDa28063186f96fa921] = true;
    whitelistedAddresses[0x392D688249ddA8C3f75402cc257307E04fcd793c] = true;
    whitelistedAddresses[0x7896ca4e8Dea26Af540bC466229435bea5457344] = true;
    whitelistedAddresses[0xfcD51CE91D05FFEF2a678B6b15579cEf0c28680A] = true;
    whitelistedAddresses[0x9F69b05c6Bb5871905412B998389912D3A4cbE4b] = true;
    whitelistedAddresses[0x5ef36FB9480b4dD1F217Cef4B054c97ad5857eF0] = true;
    whitelistedAddresses[0xc039B305CF30f5e7d42Ffa4fd92aF80D4b8d264C] = true;
    whitelistedAddresses[0xE3162DB6d1f2c4bDc6B97Ee98986FCFB1900238D] = true;
    whitelistedAddresses[0x6b718E50E4f8549AC3Ee828759477Ca1D8c2EEc5] = true;
    whitelistedAddresses[0xA1a0e1c77EcCdD42C3424a852d1d950D4f70A195] = true;
    whitelistedAddresses[0x095E54514a95d7579a9a12E77E33AAE6b5c9EfCc] = true;
    whitelistedAddresses[0xce33A5485345de213Ba726858Fd5aCbE21D255Bc] = true;
    whitelistedAddresses[0x1555CE5C0A71490dFCcc65ec1cABD3C5467deA15] = true;
    whitelistedAddresses[0x6a3bF16Bba8D8e9b9738c0e97940f3F5e55D2417] = true;
    whitelistedAddresses[0xC300c97E8BDd1De87a89B95f30fFc48beaCbF775] = true;
    whitelistedAddresses[0x33725931cef75B1b15c85dF10af4aAbfe4f8cb33] = true;
    whitelistedAddresses[0x8Fa2dd1f61C4784F6A9a5CAff6DeE48320a8574e] = true;
    whitelistedAddresses[0xAD0043104124fDa20cCbbA6137CA440FF9d2f096] = true;
    whitelistedAddresses[0xF180f0fF2cDc8F9Ed1CFa98b7D0Ed4aeC28ddbAf] = true;
    whitelistedAddresses[0x4D5cCe7FFe0b02c1B73678B295f0F3F24e88f854] = true;
    whitelistedAddresses[0x194F6b93BEf0B66494a83dd8a933f4942219d880] = true;
    whitelistedAddresses[0xDCc18fEFEBAa22A8b637c8cB1283815aeC35FAe7] = true;
    whitelistedAddresses[0x0F255AAF6b5131ea0FE46970fD93BeD3314080F2] = true;
    whitelistedAddresses[0xa99d8E77ce54a2C643E723469C4ec4B70F7212c9] = true;
    whitelistedAddresses[0xdCbeF5ca2245F2661FD69bA40c6643d7bC8B5BD0] = true;
    whitelistedAddresses[0x486F636B98C3B955159b46228104028F291c345e] = true;
    whitelistedAddresses[0xeAA14E5F2AC58692350c64070077355445d3d127] = true;
    whitelistedAddresses[0xE63c78ADCB7a766DDC48e493De46094b59376Ef5] = true;
    whitelistedAddresses[0xaE1e8745b14fdC57BD0be7662FFe82C664c25270] = true;
    whitelistedAddresses[0xFDc695E4DfbEc316eCEb205410A4bdBf171795df] = true;
    whitelistedAddresses[0x60F008bdEc59Bc57B25a3476E0b05eF4882f093a] = true;
    whitelistedAddresses[0xfd5dDf939b1453e369810896195c8103A52B9251] = true;
    whitelistedAddresses[0x1877FA3AF4A6Cec0C05f0932f87a0c386Cbf906B] = true;
    whitelistedAddresses[0x2FAcE9cC8C4246c38730AB2248eaa30E0e7Dc2d8] = true;
    whitelistedAddresses[0x731EC28e9314be2da65cDc0B7E55341eFE33A3d8] = true;
    whitelistedAddresses[0x8aD7a7ae30B3Cef4494C507133211d60a831Aa89] = true;
    whitelistedAddresses[0x92Cd135c7C2539E4D61CE4e5951f19D4beF7d871] = true;
    whitelistedAddresses[0xb3441Ac812872226092A401c8Ab0d8F3E919743e] = true;
    whitelistedAddresses[0xae320F2b5E965C6859834a4c4df41F324d06d1e0] = true;
    whitelistedAddresses[0xBd74Ba03A439D9B9621dFacc0fa4edE5C86A205C] = true;
    whitelistedAddresses[0xFa2a9C75Bd768deF7F144FD33d72DFCC6d0F1ff7] = true;
    whitelistedAddresses[0x1c10cA916EdE22b6ED14efdA442BEba14819CE4B] = true;
    whitelistedAddresses[0xf99983c1b128b87beD9aE10eC19df12feFDEb822] = true;
    whitelistedAddresses[0x7A455Da0FB1A70F421aba5b091b1862189942521] = true;
    whitelistedAddresses[0x5F9E228a454ae4C7de82604f4b4028A95e1705a0] = true;
    whitelistedAddresses[0xb470f97DAB8be7bb31640007560436cf0A024956] = true;
    whitelistedAddresses[0x56960880170EAf298826e6D0eE61f853Ee2deef5] = true;
    whitelistedAddresses[0x67A9F393f8e068B4187da09558a1f5036a3d9b34] = true;
    whitelistedAddresses[0x49612Fd70fEc2406c77a10a2926F39923D234C5B] = true;
    whitelistedAddresses[0xeCB03C8ABDCBD0Ef3f333efd11959d052Fb60b7c] = true;
    whitelistedAddresses[0x7Cd31150494AC32E8E42A6D9a31e67B48372a43B] = true;
    whitelistedAddresses[0x08e3012f872A5d1163C4069E4325D4D3e0D890f7] = true;
    whitelistedAddresses[0x39436E22EC425e93EB5C5136389B04854c142310] = true;
    whitelistedAddresses[0x5C57abD3548b87Ef9bAbEa37ed3abD51fad523a3] = true;
    whitelistedAddresses[0x5B94DE14d4789C0264a2E20132Ee2cb30F6B7f34] = true;
    whitelistedAddresses[0x7E5573836391c3240C95b1698ee3F815Bf01C904] = true;
    whitelistedAddresses[0x5cf9b65d03000c3Fb68AE833C5E21C91829BC7d1] = true;
    whitelistedAddresses[0x5c29F54cD1aF8636BeeAfBcdD4bE0114f4307ED4] = true;
    whitelistedAddresses[0xDcb30978A21C5a083A2C91bF06Dce37c261bFB43] = true;
    whitelistedAddresses[0x47F08742e58E2015c9E3d89957579d3e7869A0d8] = true;
    whitelistedAddresses[0x361533e1A7f04ea0cb9cAA76277d1BA04F48b1c9] = true;
    whitelistedAddresses[0x61FCF5155788A8C71E8E607F094aC4aB72c58CEb] = true;
    whitelistedAddresses[0x1B3585C01bA9e8dD6aEFd73f3Ca9D58BBEB666e7] = true;
    whitelistedAddresses[0xa9D60735AB0901F84F5D04b465FA2F1a6d0Aa7Ee] = true;
    whitelistedAddresses[0x2067baD494367B860D4f5f1C2a3862110ae4D75e] = true;
    whitelistedAddresses[0xE2371b3cF4Fc1E290D613FE3bF4a61d285199B17] = true;
    whitelistedAddresses[0xd5A771Da32A392036a98f7DA6b11D46D6D1c61f9] = true;
    whitelistedAddresses[0x4d7Bd6b18FfE526c901AeC3C7a2B564bD2c376D5] = true;
    whitelistedAddresses[0x40C7Fea74E92803f6e9d3Cd9fc0ABaCcc28d46bC] = true;
    whitelistedAddresses[0x73E4FDD812a1c28706cFbD03249731ef50F6F520] = true;
    whitelistedAddresses[0x2Eaa29D91CA91dB1Af608f9A7dF4F4feb5f01BFE] = true;
    whitelistedAddresses[0x73c48Ad7F4eC3E52b8FAB220337DBA7549e8170E] = true;
    whitelistedAddresses[0xdd12bF90cF2c48320F988534B3A8Bf246cC3aD0b] = true;
    whitelistedAddresses[0x83b127894d6E2bc1dbA6D88F0e022347969a02a3] = true;
    whitelistedAddresses[0xf295EFa8c90897D2770F795B3811452Fa3530F81] = true;
    whitelistedAddresses[0x9f0e16F48Ce7c7cF0902b1B965bE9D86172c4447] = true;
    whitelistedAddresses[0xD1F4Be365dB59548D474cF7C2bedc417209f9eF7] = true;
    whitelistedAddresses[0xa5D4c28304a8042A4557579A6229B37cD6736Ce6] = true;
    whitelistedAddresses[0x4A9513dAFCBD44C8A4409Ca262C4Da1f70A7064e] = true;
    whitelistedAddresses[0x6DE8e62dCe4c4C167626e297Cd3E5498B0096663] = true;
    whitelistedAddresses[0x9B809FB7C18fca0985d8b94E3EA6ccc3d6727a00] = true;
    whitelistedAddresses[0x1b33A158F6BcDCEcb53ad5D3a1b4f847DFC0a7C6] = true;
    whitelistedAddresses[0xE9bD37E8A30e7a15AEa960578DD283513C9BfA2c] = true;
    whitelistedAddresses[0x33b22f2578c87bc59F4fa4035A85475bD9C541ab] = true;
    whitelistedAddresses[0x8880018BA0517a71c29Da6B043Ee461589a9b529] = true;
    whitelistedAddresses[0x0D0bc2AdAf925D4F0F2aF8461b70aa3bC99f08e0] = true;
    whitelistedAddresses[0x0cF249aF439a1444910Cb0d7647a83DadF9B912b] = true;
    whitelistedAddresses[0x5920d33c06914Df0CdBaA780894FDEc4a23D3022] = true;
    whitelistedAddresses[0x707d9277F1966651b2bFA6C17BaED1C2Ee85f586] = true;
    whitelistedAddresses[0xbFC4460eF3d8fD49902FB831E73e304B0947ce59] = true;
    whitelistedAddresses[0x326262f035bb1925C78443276a3b3F796bd3Cd8C] = true;
    whitelistedAddresses[0xd6714f181934eD979344F4A8168581b8048A5e03] = true;
    whitelistedAddresses[0x26883856ED417087c828687464427ffe70BbACD7] = true;
    whitelistedAddresses[0xB67D0995647303350D9c0b4118759807A0A29B5c] = true;
    whitelistedAddresses[0x86F632C48eC142D602012375C793a41D4b97cC05] = true;
    whitelistedAddresses[0xB1146ECd00783165eBc41C363bcb2e6FB231dD09] = true;
    whitelistedAddresses[0xD3349916bB1aA25c7A459a8aEBB3310Ea5f423B5] = true;
    whitelistedAddresses[0x755a1dD37b7f7011F8D11E5043a427532d11C63F] = true;
    whitelistedAddresses[0x69B9c615cC9900073B8F200F9D13f882706B6374] = true;
    whitelistedAddresses[0xc3793662ceb87129431245E0e22B2A697C7F66E8] = true;
    whitelistedAddresses[0xcAb63F60878642BCb8236acDfE8a2ec6cDc14ed4] = true;
    whitelistedAddresses[0x0660459b2b658B232f3dB6ADfF5580e7558F60E6] = true;
    whitelistedAddresses[0x929dC783b613E6ccd80BA4a4FFD3289cfF82866A] = true;
    whitelistedAddresses[0xDffC43C8709De2EdA41AeDd5e4EaF51963c93A44] = true;
    whitelistedAddresses[0xCC89EC35fCECC62273603B6031f93ca692a54414] = true;
    whitelistedAddresses[0x6F0ca764Ff228C5942dcC4f2B48809236Ba03990] = true;
    whitelistedAddresses[0x3F140845EDeC1DbdD8dB54232fBAFDB637773C2F] = true;
    whitelistedAddresses[0x93f263bDa652E5061386284A7d3b6Ea0cDD27852] = true;
    whitelistedAddresses[0x9F46f9499C20dD3bb111215002ECb3c5fD52fC21] = true;
    whitelistedAddresses[0x813D9AFe8da7768c468d5330bb18175916f29c7f] = true;
    whitelistedAddresses[0xc76039347c20A331aF1938E3BE73273A965baa08] = true;
    whitelistedAddresses[0x7a756813C419D23b0E9A1B8A1D1dAfe662805BB1] = true;
    whitelistedAddresses[0xEcCD1694D625a37169189d248f8e7D55bE038a6f] = true;
    whitelistedAddresses[0xDa9551D92636D33f5F9712672D67fD08Fd4288e3] = true;
    whitelistedAddresses[0xeF745b83FEEa5c811aF76132245374C6a8Be8D08] = true;
    whitelistedAddresses[0x3Fb3365b48045208737EcE98aA31b2F7Ac6bbDC7] = true;
    whitelistedAddresses[0x3D92898c09614702B5031b42a3AA41F2E7FfFe07] = true;
    whitelistedAddresses[0x77d04628A093B243D9750F32893766c3d0B0449d] = true;
    whitelistedAddresses[0xD509F14123021f60df832518D08176ca4dfD0Bfa] = true;
    whitelistedAddresses[0x70C8825CD741be7750BbC462C776b6A3b6f39551] = true;
    whitelistedAddresses[0x95F445cC9e6a90b9445F2Ea805908aC6768A9E18] = true;
    whitelistedAddresses[0x84a13DF125ACafe9AC2F11D92A1d662e66f98c3c] = true;
    whitelistedAddresses[0x74D5EDf85139c6289f2Ee1ff49DD8E1864B0104C] = true;
    whitelistedAddresses[0x7D03e3E2C833018eE3a8cFcf3876296a2186696C] = true;
    whitelistedAddresses[0xFD69dfd91Aeb80d36e5B2200f581eB2350b078db] = true;
    whitelistedAddresses[0xe0123335BdE05195E0D78F79C9B2776493fa916c] = true;
    whitelistedAddresses[0x199fD4BFc1F012bbffa5f53F931B32037266fccC] = true;
    whitelistedAddresses[0xF416D9bB6576e15e9587A900134255dEdE849Cf2] = true;
    whitelistedAddresses[0x335525B494F659CeCdCe90d329A41Bed94e9d5f7] = true;
    whitelistedAddresses[0x7a57312C96d212eC4E77853c301d45C1D26487B0] = true;
    whitelistedAddresses[0xBD4c4049bF7B42889D343384743a808F9D6a1f45] = true;
    whitelistedAddresses[0x4B8caed2850513795635c123635CD8046A846520] = true;
    whitelistedAddresses[0xdaf55518E4EABFe34B39B953291C1A8383eF6020] = true;
    whitelistedAddresses[0xA166f681BE8dB248237444F0C48962F8F8940c98] = true;
    whitelistedAddresses[0xb366fdB2b665644524df762bd09c87FA3f6D7be4] = true;
    whitelistedAddresses[0x3147B17e5eb3B9A36A7CA16144E16Aae6295f499] = true;
    whitelistedAddresses[0x1f83404171F76CE8686B62bB89670AE7ab8e2D0D] = true;
    whitelistedAddresses[0x8DE02b898091a2401f2D89f6cf3C50307c329492] = true;
    whitelistedAddresses[0xd96bE45080e824686694E7f74169330FFc55d1DF] = true;
    whitelistedAddresses[0xbe7AC41E85fDb0171207d03BB6a2d8695E4e9033] = true;
    whitelistedAddresses[0xf3e4bb46f9C8e06e57996fD6b0337f60E824Be88] = true;
    whitelistedAddresses[0xA8b472599193D1BC01acfd6A31A9B6f5dc2a93E6] = true;
    whitelistedAddresses[0xd68936188779efb41BEF5659B9183B34Fb7963Fe] = true;
    whitelistedAddresses[0x8027e4EaeF12dae0b5A68B81BE3eC46a88e6Ff1a] = true;
    whitelistedAddresses[0x3A48B3b3fdf7eFDE99044d1F63ED1d00f61702bC] = true;
    whitelistedAddresses[0x15FaA3F30D2691f7Ff8b067938C07468f5Ee6C1F] = true;
    whitelistedAddresses[0xe64F4c1793057d8E6Ef4d72dc7547B51b2aaA750] = true;
    whitelistedAddresses[0x88Be47aeF010e57B01AC9E9F2272281C6B1e6514] = true;
    whitelistedAddresses[0xd6fC56bd9D65a4f00A3969791DB598Bd74f389b4] = true;
    whitelistedAddresses[0xf27e69c6Ef6dfC96f62f0B56DBD27FFeDcAF72Ba] = true;
    whitelistedAddresses[0xa72726267c804e7508dF6b3AC14014F1EAc2D5Ad] = true;
    whitelistedAddresses[0x2Ec79180e470E303AA0a6A3033bc7D19708aD365] = true;
    whitelistedAddresses[0x423907a13DcE86f5415a4e4221caCBDfb9cDdF47] = true;
    whitelistedAddresses[0x74a8fBB9651dAc3BB9f2f0d7B1af9CA3dE9181CE] = true;
    whitelistedAddresses[0x13cBB2dCBe4d39D8743bf1650C4E8C09103a324B] = true;
    whitelistedAddresses[0xddBaAEd29761659CB20554c343D656A0cd8095B5] = true;
    whitelistedAddresses[0x787551ae0AB07dE8EB91d1535DBD37f379B0111D] = true;
    whitelistedAddresses[0x5BaC6fd07ED7c3572ce36cb2b841D6eC84af27f0] = true;
  }

  modifier callerIsUser() {
    require(tx.origin == msg.sender, "The caller is another contract");
    _;
  }
 
  function mint(uint256 quantity) external payable callerIsUser {
    require(status == 1 && whitelistedAddresses[msg.sender] || status == 2 , "Sale is not Active");
    require(totalSupply() + quantity <= collectionSize, "reached max supply");
    require( ( status == 1 && numberMinted(msg.sender) + quantity <= MAX_PER_Address ) || status == 2 , "Quantity exceeds allowed Mints" );
    require(  quantity <= MAX_PER_Transtion,"can not mint this many");
    require(msg.value >= PRICE * quantity, "Need to send more ETH.");
    _safeMint(msg.sender, quantity);    
  }

   function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
    require(_exists(tokenId),"ERC721Metadata: URI query for nonexistent token");
    if(_revelNFT){
    string memory baseURI = _baseURI();
    return
      bytes(baseURI).length > 0
        ? string(abi.encodePacked(baseURI, tokenId.toString()))
        : "";
    } else{
      return _uriBeforeRevel;
    }
  }

  function isWhitelisted(address _user) public view returns (bool) {
    return whitelistedAddresses[_user];
  }

  
  function addNewWhitelistUsers(address[] calldata _users) public onlyOwner {
    // ["","",""]
    for(uint i=0;i<_users.length;i++)
        whitelistedAddresses[_users[i]] = true;
  }

  function setURIbeforeRevel(string memory URI) external onlyOwner {
    _uriBeforeRevel = URI;
  }

  function setBaseURI(string memory baseURI) external onlyOwner {
    _baseTokenURI = baseURI;
  }
  function _baseURI() internal view virtual override returns (string memory) {
    return _baseTokenURI;
  }
  function numberMinted(address owner) public view returns (uint256) {
    return _numberMinted(owner);
  }
  function getOwnershipData(uint256 tokenId)
    external
    view
    returns (TokenOwnership memory)
  {
    return ownershipOf(tokenId);
  }
  function withdrawMoney() external onlyOwner nonReentrant {
    (bool success, ) = msg.sender.call{value: address(this).balance}("");
    require(success, "Transfer failed.");
  }
  function changeRevelStatus() external onlyOwner {
    _revelNFT = !_revelNFT;
  }
  function changeMintPrice(uint256 _newPrice) external onlyOwner
  {
      PRICE = _newPrice;
  }
  function changeMAX_PER_Transtion(uint256 q) external onlyOwner
  {
      MAX_PER_Transtion = q;
  }
  function changeMAX_PER_Address(uint256 q) external onlyOwner
  {
      MAX_PER_Address = q;
  }

  function setStatus(uint256 s)external onlyOwner{
      status = s;
  }
  function getStatus()public view returns(uint){
      return status;
  }
  function giveaway(address a, uint q)public onlyOwner{
    _safeMint(a, q);
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","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":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MAX_PER_Address","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PER_Transtion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_revelNFT","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"addNewWhitelistUsers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"q","type":"uint256"}],"name":"changeMAX_PER_Address","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"q","type":"uint256"}],"name":"changeMAX_PER_Transtion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newPrice","type":"uint256"}],"name":"changeMintPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"changeRevelStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getOwnershipData","outputs":[{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint64","name":"startTimestamp","type":"uint64"}],"internalType":"struct ERC721A.TokenOwnership","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStatus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"uint256","name":"q","type":"uint256"}],"name":"giveaway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextOwnerToExplicitlySet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"numberMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"s","type":"uint256"}],"name":"setStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"URI","type":"string"}],"name":"setURIbeforeRevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"status","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawMoney","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c0604052600060015560006008556005600a556005600b556658d15e17628000600c556000600d60006101000a81548160ff02191690831515021790555060016010553480156200005057600080fd5b506040518060400160405280600a81526020017f43617368204372616273000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f4361736843726162730000000000000000000000000000000000000000000000815250600a612710620000e2620000d66200c25460201b60201c565b6200c25c60201b60201c565b6000811162000128576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200011f906200c440565b60405180910390fd5b600082116200016e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000165906200c41e565b60405180910390fd5b8360029080519060200190620001869291906200c320565b5082600390805190602001906200019f9291906200c320565b508160a0818152505080608081815250505050505060016009819055506040518060800160405280605481526020016201164b60549139600f9080519060200190620001ed9291906200c320565b5060016011600073fd845e60eaea6c960d2a2b6f490b53d26925d5cb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fd845e60eaea6c960d2a2b6f490b53d26925d5cb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007309c624d5271a1f7e6a2588e778a4d48bb90a695273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073720ff27ee0cae603d54c915c2c2aae9e467a3ae873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734067b5677eef1550c22aff13477b7a919fa3502073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d6d57d174be03101c29c1eb3a335559014896bc773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fed7219f6fd43b4d04e4f3f0fa515cffb5c5de6273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073edcdd23c6a0a3b16c0c2d3e92c65d5d3b153290f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730dcd05914c75a62471f35c6f3f361f84c39dfab573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073bb767d5627a75c0943b917d980738e2c601770b673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e2bb817747136d290e5238ed2ee2db91c96264cd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b30d955afc668eab195f271d746484928a52cd4973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073cd7ab7280b0dbb253eb109381daa07a0163c58b673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073cbf699fc4fa85bc2ca45bb63adbfe78264cc581373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734de76a2d2a4decfd68566889e63d571173f930e473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007353808009dc1a8e4a36039838b4d56caea186f9f373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739e5435685733787d1bb5b6e434353c65cab7c21d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073731464dd177cac2d5e7aae58ccc58239b5f3ac4373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736490cf86e43b1d855fbd7f397e9c63f43db40ea273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ac065c832679b458008c916b1916ca93ca02568a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007340e4d03f8ff764b7857d0da4181f0f31a7130c3473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007347673689fc0a7a22c024079292ffebbd21a086fe73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739d2a6aa0b01118b021ff3e940956e9659ad3cce673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007313e9272ae78459bd5c03e7cc33cf3cc83f765e9073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073cbdae7c71801bedcb1bd156ecd665581c43b811273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007364d79ebee793b7e546d7d02a8a2ab942775eaa3173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733c132ddfd6a307126226ab9f82c951e3989e14dc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737595d27ec13be0a19edbcfc7d55fe59534d6cc8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f279d2934e937880bc486d19ab9a65a8ef4b49c073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073af1d737345c84ff50b51e51fef975ae9ab31a45f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737681712a55587a1e9b6eab1ea828e4e14059106e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a5d4a2c359c958c0530e37d801e851f7b7f7d69c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e519e23fbf1a88bf9387fedd662778b0b348e56a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007358c0e1cccfc458f026e67f260bb25d8c71c1de2f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737aec2a61d9bc8e899eb6e41cedaf24983d4b1a7e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a6f17fc0fcc0467fdbeb01f9bef47d264b0ee77273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b868b2ca33365f784df87e31cefaa1e00a8386b573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739a46731349080730299880307193a07d0153293d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737c400954350b1338a7ead552c41521327d12114673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fcc1f854c979f61bca87e651e72e45a72807915b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007364aa6b8f0e11473e5ef63a224e6e4e3ac63ef95473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007365f7e3ea4c1507f50467b7334e6d8f7547bb41d373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f3fb8ba5b9b9dabec152112a9ddc69d80b1ca07e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b57f96b20eccdd099845b67f8f590c907f4455cc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007319c99c068b4b3292c819429da4550a2e36f9f94373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733aa26afdc92b2b09d6afd3da1a8c11d2eed3772f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007370b3f80ed5d612005e784312eb335672dd86b16d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734bfde9c1ab8887452a2a9fb80b6f60e013108ea273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733f69a1b4fed4408ef9724ad8879d92840d5aaeb273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e4aae6489a1215d1eebd0cee8409a77ee7be467f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007362f841f3d4e299648cf66f23b71c578d755b2bf773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739cdb12defd0838e54b4d1ee3261ede601649e63473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737d992c2e88d8d35bff5d6712eeee2c944532923873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007389dc9bbee3075a6d745e3db6ae113a2ad3f1e54573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007351015f7bfe495eb5c1daeddaff63d0ba39edc28573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073039c8590c9a04cb2451cda75734861bc4da3160973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007311ab9463418e47fc5d9fe2a17f662adb19b295c173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073c03bbc9038b16158d80dd740f47de733727e8b2373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731e93e03cb1798b853262a2b7ca19d7ae642bc8b773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073373fc2d830b2fcf7731f42ab9d0d89e552da6ccb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b63b9d76324c5bee81fbf50dfebb54eb7f3e33a673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073c5745b750c91ee9752c0c74fb6f91bcc26e6fc9a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007349825062451be8119a78ac21ddb7dc79bdc1f7f673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007317171c667608a1d1aa116cd9b94e0a7e3620d86173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073bc4ff24feb140810ace88e10883eb23d3880e9b373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073216885e1a68dad7d3936e7e012fa79223c6075a473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739d94b5b752555e793f6b1e46ed9654470c45994473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007328c01c0c0c7c25c763cbca88446038dc6b1fba5473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007399f18373ba0b123d59f1be56c7f689ef6ddfdea273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073be628f65e995242d138a1461c75677b39faf93c473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007334ff8a1b5286753161baa0bcc446d7d6dc3857df73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073659815937af07f40b39b93bf16962ac1754abbfd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734b300a87272db2ca1b30d21d64cdd345c4b80afc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733c0dd608611d552cf8cc7a0a4b51bb8d808ad88673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739df087ada77af80f553dc0d2fb43c18dc5a6b44473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073746849550373b814dfd93d8fc2a9d37cbc226bb873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073962772ae26a8098a49cfe01fe3f6ce68c92f9b5f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737a420e46405b573c0aa96b12e80405a3819d3e6b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737b6aee8165b8e0f3d8c4a8c4651bbd2e89e3763173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a36eb29607d5deb20d0d6dc49810ca7a23eb0b2773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007396cb84ac416602cec04b6778fa3f8e588e84cc9573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731101aae94f9d196ac65bbd440db1ef0f639e80ae73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073cef9709b428692c92f99bd193dcbbdf8f76a6c0173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073647b7881b8a63fd8c6aab5b0244b9067223d0e1273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073960104582b294466f3dc3d6d5ff7a618376772e573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732b143cc08cdd999d92fdf44afea5ebdc7296d90a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732f22a600c056848bbebcdea3645f736b62a8b85b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073cc2e464cbce1b11108460cee52e3cd82e887cbf873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073191c445ab08764f12c821857961cfea5b837f27673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007398139f943753bb98ed5b346621d38dadd51b416f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738d3521b68d831d853a8a383caa0735e69e3274e073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073cc0960243d099bcae96c0d1aeacdda01434d2ebc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007307ce5db5f75e58d657926b636b9ad3e3869c91b473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073770aeeefc75134558464d365d6c135f49162a5db73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733ad82e1312895eee9720ccabad3a7f5f226d44be73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073756da266dbb35f65645a8111516d0f0c09b372b573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007376ee43fdcf297aaf373e1981b9f9d4470edeb71b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ea594c9e54eca6b36dbed9e1e2b22e592b5a3c1e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007376a80d9e29aa41fc8a84a827037f977c06b585fa73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073482f8c1c569a597b6ad258d979cf919037eb642473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073588f288eb412e00b712c6ac18cd95ba1eb62fec373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007331c9b0554da42f8c09e3458e4603e377fba1b3bf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731239f236aa9cada354b46df3d72b67bf8ee4146973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739ae0816138b67b3cd2ba9680aaf983588243d0fd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a3de87bfb56690bb0737d4a4db1a61b554d3f81e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738d2dcbbc57092d7dd114edb923adb31053552db473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fb7587d77da8c9c60e5ab3d92962d045e7abfa1b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007364a0d2ce34c2897d05fcfd6be9742fe2fad182d273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739c9272ee0e9a29e31bdac7d21a9d9a2a3d52e3e873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735f9be6b4f8025da41239c608503a0cc998557e4673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073acbea6bae19e4da3f54f43459b9d7b6f6187b8ca73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fcc99f087f32e560e99ec4fee1188a76f40fee8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736f941d19cb5bc61be7127dfa2e040a2ec17fba6373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073337e95d89875d43a57484048b9283b835f74e7ae73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073791fce94b7d9ca5fe0a94636901f3d77e6aee1e373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007343570cfac4ee5fc682abe2a2902fbe1ce22a284173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007334db797738c12db1547e5c5fbc1bf6e00cbe65c573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007350ecfc76876e109bfd367f9c8a1a4ad2a493b06373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007376d0ad6863b627f5786e7c6d17bc67426a9a278773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b0e1df6a0e18fb6312bdb1b7b0c41902e342020673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732b5b0128b3821cde5a9e90b921846b53b470e33573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007307f97e3ad47c61dd67e9b59a9bb9e83f6f70917173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734925de66fa9f53aa69421ed92b4d2ebc13a688d073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732e664181c7e34cc5419c6094aceb5c30b497243673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073c3c07157ed646e42c7ac977b1603f45276b30f9973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731cc839b23a915944276b7f594f8621e9ea537ecc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073705eff609194673fd01f0ebb199e65ea84a238cd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737c2acf7ced1f246f65f4d29fbee4eb3d285d973873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073184b2665b176feabbeadf63d49b47109121122eb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ffd47bb6245868dc7c263387ff2745cd998d23cf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a15c2e11bcede084db837c188d06c6ea039a8f7473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fe72cc7cfdc090299e1ff451cf1b542e6d4155a473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ab24f8ecef60ea9ec577e1f556badf1483961e9b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b2da8a18710337658d37ec027fac3ef97e683d0673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732c78a83f0949edbf8b0d5c4b1cd116194b56ac0573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736d624565f1f2070fdc7088474125c5ba80f041ca73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073bebcf96eeed98d495f45407ce7017179738e355273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734bfc251cbf1eeae80d94eb01d6271c0e51f6364873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735ce948c7d30e6ef56f75ce7520e46bae12b454fd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730232670c2f60fdddb3c642cc40c7c491aa52ad5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073abe8f776b5b33d842188ba42bfc5fc72d23de80e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ee0f9973b2159229aaa0b5e90a704f9da72a8da173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738908e0318fa424370ac9511e0ac04a846b484d6773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731a63affe77ef0cd9c7f411633664200b04878e6c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ae9bbac063fe60a77e7adbbb04ce9abcc39517e573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733bbf6e6c15c93375e00601a034d13dc9afc8a76373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d7c5d20e834009aa70b97e2f4760edc173fdabab73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007318171255f7d009bc21f80d0266f5d175f170c75d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731b48012465ed4b770ce11ab18ae1e701e6dfaf5873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d4d27fbd73fba326282f3bf178ed569ccbc4f9b573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733513e4a60fb4c3a272c8290f76ac924d606ea15d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007331f7f4fe1bce32a99b99a616d81afefec53f1fcb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007304d725941898d965a4dde8cb40590a9beb193da373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f56535df84290396b92fcda58815812477c4a18473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735d54bd4971ad61f298927da1a3f85e6d88bce1b173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007379cbd1d0c08217ed8b448a82ed714c3f3205eee173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e6e566abc75317c04c39ddb5cd67de735a71f56773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ad97112509cbb091bd2fc1fb2ce6531f1bbce1c073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007373285945fc85cc1f7ce8ae254e3f6d83e366827073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734cbc27eb49022dc70694fc3f6297befb9d96ae1873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073db4551f4704dea5cd761ee5d00f371b18dca108573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738cd5c2d368c1275d5ee8079a48a4ff80298ec31473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d0f9dae23568f78c545a07a9c16228357f6401e873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007372169e50e2e3ce7a767cf5cd9336e8910d4b13d073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737838950fc3a25234c03a0e63b2aaca978ab1a60273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073648b5f5a5749749de6ede1ebc88cd99d28b3ffd973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073bb7d11b97f07011f754fb5552248989acfdecde373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073633c17b318b92b708949e4d82d32bcc6859083b073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073addc39ce24076366276f702864e0a4c0ab9798f873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739b5358abf4c8328fb024ebab6b5b095b08b5564b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733811c005c183fa8104a72499a6f85cb6bd644eac73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007306fa86e319d35aac2006e1f8273a3ca10a4fb2fa73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073688d4b0eb01fb0dfef34818b5d1827fbdef3184d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733b2263a4a9d02e33e44ccd7bdf248cef5ec633bc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739bc4c78867a4816688d3f1be696cdaafd469bd0d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073420a7b48d7e34010a803257a10ad9d95f8b2f88e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732968b496a7a821b9a67011cf60f672571633cad673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730f7eecc8cdfecf83a3b6e93f34701c85d23a1e6273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738f432c6aa4da9298baa589ae7539ea5746e8c47473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739ff4e59895012c634277e99171d1124b0f2c01ed73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073cab1ee41b663b712fd58fbaae2a1f04591107faa73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731d88f10627ecb8e596a5ab451c2df958f69befdc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735bc53477da64b971b09bed40119f5f7bf0da966773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731688ca553e48049f192dc727ff14414bf152424373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733d218b77be29900ca97a7bdabac7d665b05be84a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736617de1aefcdda76c458018bb9608e1e6a25ad5b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007341cfcc63981cd09201a37df7f515307fbadf51f873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007354bf374c1a0eb4c52017cc52cf1633327ee3e98573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734efb7b6e34616ae0f79f2d2644caeea299ed941a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735c21120970aa4d6a8ed6a8635ac84f21bb55f1fa73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073bf89828935484b3a4801ed5e09718d6bb60b46b473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ffa4a51dfae1e8d43fa800dc639ca68b68d576b773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737169301ebdbe4f2c86859991423a24ebbf91461e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731c6f0082be9cb71df7609917864fadbb8a8599e773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007314e00a153296881c5a07c778d3af97e21ac4f97873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735fe3055db0d8cf215514e2787f9b414c2a52e6d873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073068481a3019c5fd50862c8ffff53b3b70fa382bf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073af4cf2a6dc9f530b44b7fd9406b83258c79b2c7173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b13e94dd61ab15ae70f6294ac2f41c578eed39dc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739c0b69e3013fe53f276d79698e44e3149c62fa1373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b0c5e7ceb566cdd8efb4b8da79966fb6ab708f2673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073c263776d9ea1bb86b4c5cd857a6454d1f47fca5973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073504f0baf0810a9a3265bebe18ee25474800ffc4573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730497e94c77029af09517a74191ac86e15f3078c373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007347fd3f28abe2cea99c9c9be02c7302e2d3bac0e973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073471d62db54a53db851155b3cb7cb5f78a676b7c673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ae58aa169cf8ce4ff8fa6c24a1f434ff75c9b01273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737032d9d143c5e6750187e4184137104968b4363c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737a504c602e4db6a5e6f089d2d8539c77a79b5bb973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737d67ca153360582ae4721bc60589373b3d5cec6373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730fa24cda3012fa9186496384c75c09a17fee5a0673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007383caa0744780e228db4e416f29589c074ab1851273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733c72910bc8364f9619f8b43b5a250be6113995a073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007363ecc314a1cfeda4c78ed516d20a8be67da280c273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d6b1370243a68daa835a14c451d3f0d22116bec473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007397bb12e8427e6fdc7881927db0b0da14445327bb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738fd4f55a3a3f8f3cf461bd4a6a3ffee937fbf75c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073818a9b822ad7840c096e6726321f194b47ae31c273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a4020be699215a3b7712ffba8fca763820bdbdb673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ad3bfc3c00d7509bc01b54a1e07eb4746ffa361b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073835bbe0f99c15c2cb8fdf858868c1d3c52a50fa673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073976605c094a350c717e2ed3d033197094ab0533473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733b8d244198d6e31af5dcfaa1e51a920081fa7ead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073853b811892b8107860e8b71e670a83c462b4a50773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730be02eab1fdf8c899a5086bfdef0a336a1f12ba473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732c72bc035ba6242b7f7b7c1bdf0ed171a7c2b94573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073194b3496e9d2ffae6af332350d33af8b21ca9b5d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a662ad1a0c36a51f6bfc72d5ad2d4a99791740bc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736395303dc74aadc38cba51e8689dfa3519a13f0b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733a086a1defdd5e9a62297abbfa9e91ab3e1cc16d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738b6a413fb3512b1e56a175c89c32587bc23d91bf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739991a1d42a63e41cd21c80e94c580d62a6e0147173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a221f8c497fab925073c182edb4d305145b20f5f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731b5413f8b60c67f3b4be84d07ce57dc0d68986dc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007329caa7a393cfe67576f81a8b77a22c7880af550173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073227d93b231e70e7a6618d8bcb7eb68dc3d414f1473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007346a2ef74225423ce13b4ad479f71cb204b8cc4b573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733c469cbb8a35d753abcfb364b121647a4e6febc273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007302951d69f0a8eded113100883e70ad133add3f5673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fe3f0624dbc2036c47dee835cde6a19fc082153873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007361109c7033c8003b0decf6880c58fea718ddd40e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739bb4dbdb5d763cc5b1f678d5d5ce3f9cf765074f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731124ff6bd2c98fbe62dc4c491a9d415c0fec1baf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007399da072869087ce13be20fcc7f13ae4d2aed4e4f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073dafce2279325b7314083320e9c82be13f374e7c973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736d80d27e181715b20fec6a5492fc0b5f2a93931b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b09511b387e0bbbd987fac4433aff5839dee5ef473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737ed0fd948688abf3785c5d8b7eefcfbf82500fa073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736483afa117fd0c334f2a6d8d64149cf84fdd1db273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d281e80c2d2c8f09c22d0039124e94737019620e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073c424c67ab3a5a2d33ae5d234a7fd2c9ed55f807d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007370c8294446b02c70252992d1bc8ed2e18e05be4673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738621aaa593ee6c2251d02647c67767b4c4efbe1273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007396242abc548d13d181857cb6ffe32995e641fdaf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007301f2ea8d6594f6eb69027f7ddcc1d700bbdbbe4873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734f4354345088c9c320c9c048d0b36b1a73727ce673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733c3b59411792cdb893f167b3a7394ea9d125cd9a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736b0e4ea76f522cc337e4683e01d5b5779ab67f7b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ae29968890bfc0ea250abafd30b0502b46214b8173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f82947b13c2a2a91b9c20b7b3b546b5cb82e94a573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738fb2f9defaa5a088e8ccfc01dad56a938ae499e173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733a61c3f67df48e3f73509f6e58621a746797a64573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737f8235cc263a8cbe81c642b6cdb53e488227ca2873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736dd46d406bd1b9546c5b35da82e44fe7e141cbe873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007360f2f6718801cefe0d2276a668a73d9efd69a0a773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f74a8d872597958e2889cc91d45bf2cad6a3a36473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737fbec09f7ce64b733260fb40aca15bf18528b3bb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073706108b116585805afcc752e45d56c5fa2f080fa73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734019868226fabbfb836d388bee5e870204371f9d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007369b3d3be1d6ccfaee8b48c9f5e37d634bec9968073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738b56e84623d7cb650f9863c9aa5cd1ffae3d62bc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fbe871d0aad0fdab932b60351afd1006b03fda4373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007322433e157a87d81d9f6460aae4b89ffeec2c382d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007304a65e8b543d4e1f7e1cc5d5118cb9b1b7aa20b173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735be67129914f502baad2791be0934f7dba69150073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e8d531dc7122cbdebd2dd5e6d43dc09c9d1caaab73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d49322add203c8e04acdd53b7ff14b5e0ac861d773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007375ead7715418f50f2285eac120ac003ce2e4622773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a6fe464c7aaff0827f264289a1e9b2b82cdb961a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073add9a6a1b6781eb889bb01326b5278032bd8e30e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073083ead940335d6908cdb078df005fb4c5f83a9b073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739a4763be8ffad2f2ec958b8b3742b4d59ec490e273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d5a9c4a92dde274e126f82b215fccb511147cd8e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073188408ef0c26225705f6cdea6148f3f8ed80234873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d5bb6ac79482467103263b818f2d8462224f613373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736ef9dca82362509cd878051d1fdc6db12dda298973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d72d8ee3ee73deab3137b2622f8e97badea7090073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d4a645268cfe2806de8a3bef82c1fa79c99b1e1c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007343afdf4acd587b41b40693e820de52da010a1c1973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736c8917547a0dd8d3a9658de9176837cfa9dd893373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f873bebdd61ab385d6b24c135baf36c729ce882473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ed034b287ea77a14970f1c0c8682a80a9468dbb373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073914ff77d2aa22e2604005ada17a4eb54c296413173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007349b59df9df381b1634b81e3ea12fcc0bb6ae449873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073bbf63f18b363c1317af8e48c6ecf2528955877be73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735eeb21cd9535c3130e683e5ffa51d25ae092615073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073acf890389ff734d23aeae8ea8bcbc1cb7b9fee0873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007348fe093848d1a11b236c7d4450e6b6360b6ba7ad73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b6c5b1a489606028da263eda28063186f96fa92173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073392d688249dda8c3f75402cc257307e04fcd793c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737896ca4e8dea26af540bc466229435bea545734473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fcd51ce91d05ffef2a678b6b15579cef0c28680a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739f69b05c6bb5871905412b998389912d3a4cbe4b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735ef36fb9480b4dd1f217cef4b054c97ad5857ef073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073c039b305cf30f5e7d42ffa4fd92af80d4b8d264c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e3162db6d1f2c4bdc6b97ee98986fcfb1900238d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736b718e50e4f8549ac3ee828759477ca1d8c2eec573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a1a0e1c77eccdd42c3424a852d1d950d4f70a19573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073095e54514a95d7579a9a12e77e33aae6b5c9efcc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ce33a5485345de213ba726858fd5acbe21d255bc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731555ce5c0a71490dfccc65ec1cabd3c5467dea1573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736a3bf16bba8d8e9b9738c0e97940f3f5e55d241773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073c300c97e8bdd1de87a89b95f30ffc48beacbf77573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007333725931cef75b1b15c85df10af4aabfe4f8cb3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738fa2dd1f61c4784f6a9a5caff6dee48320a8574e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ad0043104124fda20ccbba6137ca440ff9d2f09673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f180f0ff2cdc8f9ed1cfa98b7d0ed4aec28ddbaf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734d5cce7ffe0b02c1b73678b295f0f3f24e88f85473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073194f6b93bef0b66494a83dd8a933f4942219d88073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073dcc18fefebaa22a8b637c8cb1283815aec35fae773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730f255aaf6b5131ea0fe46970fd93bed3314080f273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a99d8e77ce54a2c643e723469c4ec4b70f7212c973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073dcbef5ca2245f2661fd69ba40c6643d7bc8b5bd073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073486f636b98c3b955159b46228104028f291c345e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073eaa14e5f2ac58692350c64070077355445d3d12773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e63c78adcb7a766ddc48e493de46094b59376ef573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ae1e8745b14fdc57bd0be7662ffe82c664c2527073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fdc695e4dfbec316eceb205410a4bdbf171795df73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007360f008bdec59bc57b25a3476e0b05ef4882f093a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fd5ddf939b1453e369810896195c8103a52b925173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731877fa3af4a6cec0c05f0932f87a0c386cbf906b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732face9cc8c4246c38730ab2248eaa30e0e7dc2d873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073731ec28e9314be2da65cdc0b7e55341efe33a3d873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738ad7a7ae30b3cef4494c507133211d60a831aa8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007392cd135c7c2539e4d61ce4e5951f19d4bef7d87173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b3441ac812872226092a401c8ab0d8f3e919743e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ae320f2b5e965c6859834a4c4df41f324d06d1e073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073bd74ba03a439d9b9621dfacc0fa4ede5c86a205c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fa2a9c75bd768def7f144fd33d72dfcc6d0f1ff773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731c10ca916ede22b6ed14efda442beba14819ce4b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f99983c1b128b87bed9ae10ec19df12fefdeb82273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737a455da0fb1a70f421aba5b091b186218994252173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735f9e228a454ae4c7de82604f4b4028a95e1705a073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b470f97dab8be7bb31640007560436cf0a02495673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007356960880170eaf298826e6d0ee61f853ee2deef573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007367a9f393f8e068b4187da09558a1f5036a3d9b3473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007349612fd70fec2406c77a10a2926f39923d234c5b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ecb03c8abdcbd0ef3f333efd11959d052fb60b7c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737cd31150494ac32e8e42a6d9a31e67b48372a43b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007308e3012f872a5d1163c4069e4325d4d3e0d890f773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007339436e22ec425e93eb5c5136389b04854c14231073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735c57abd3548b87ef9babea37ed3abd51fad523a373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735b94de14d4789c0264a2e20132ee2cb30f6b7f3473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737e5573836391c3240c95b1698ee3f815bf01c90473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735cf9b65d03000c3fb68ae833c5e21c91829bc7d173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735c29f54cd1af8636beeafbcdd4be0114f4307ed473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073dcb30978a21c5a083a2c91bf06dce37c261bfb4373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007347f08742e58e2015c9e3d89957579d3e7869a0d873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073361533e1a7f04ea0cb9caa76277d1ba04f48b1c973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007361fcf5155788a8c71e8e607f094ac4ab72c58ceb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731b3585c01ba9e8dd6aefd73f3ca9d58bbeb666e773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a9d60735ab0901f84f5d04b465fa2f1a6d0aa7ee73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732067bad494367b860d4f5f1c2a3862110ae4d75e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e2371b3cf4fc1e290d613fe3bf4a61d285199b1773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d5a771da32a392036a98f7da6b11d46d6d1c61f973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734d7bd6b18ffe526c901aec3c7a2b564bd2c376d573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007340c7fea74e92803f6e9d3cd9fc0abaccc28d46bc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007373e4fdd812a1c28706cfbd03249731ef50f6f52073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732eaa29d91ca91db1af608f9a7df4f4feb5f01bfe73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007373c48ad7f4ec3e52b8fab220337dba7549e8170e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073dd12bf90cf2c48320f988534b3a8bf246cc3ad0b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007383b127894d6e2bc1dba6d88f0e022347969a02a373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f295efa8c90897d2770f795b3811452fa3530f8173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739f0e16f48ce7c7cf0902b1b965be9d86172c444773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d1f4be365db59548d474cf7c2bedc417209f9ef773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a5d4c28304a8042a4557579a6229b37cd6736ce673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734a9513dafcbd44c8a4409ca262c4da1f70a7064e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736de8e62dce4c4c167626e297cd3e5498b009666373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739b809fb7c18fca0985d8b94e3ea6ccc3d6727a0073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731b33a158f6bcdcecb53ad5d3a1b4f847dfc0a7c673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e9bd37e8a30e7a15aea960578dd283513c9bfa2c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007333b22f2578c87bc59f4fa4035a85475bd9c541ab73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738880018ba0517a71c29da6b043ee461589a9b52973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730d0bc2adaf925d4f0f2af8461b70aa3bc99f08e073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730cf249af439a1444910cb0d7647a83dadf9b912b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735920d33c06914df0cdbaa780894fdec4a23d302273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073707d9277f1966651b2bfa6c17baed1c2ee85f58673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073bfc4460ef3d8fd49902fb831e73e304b0947ce5973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073326262f035bb1925c78443276a3b3f796bd3cd8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d6714f181934ed979344f4a8168581b8048a5e0373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007326883856ed417087c828687464427ffe70bbacd773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b67d0995647303350d9c0b4118759807a0a29b5c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007386f632c48ec142d602012375c793a41d4b97cc0573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b1146ecd00783165ebc41c363bcb2e6fb231dd0973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d3349916bb1aa25c7a459a8aebb3310ea5f423b573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073755a1dd37b7f7011f8d11e5043a427532d11c63f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007369b9c615cc9900073b8f200f9d13f882706b637473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073c3793662ceb87129431245e0e22b2a697c7f66e873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073cab63f60878642bcb8236acdfe8a2ec6cdc14ed473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730660459b2b658b232f3db6adff5580e7558f60e673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073929dc783b613e6ccd80ba4a4ffd3289cff82866a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073dffc43c8709de2eda41aedd5e4eaf51963c93a4473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073cc89ec35fcecc62273603b6031f93ca692a5441473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736f0ca764ff228c5942dcc4f2b48809236ba0399073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733f140845edec1dbdd8db54232fbafdb637773c2f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007393f263bda652e5061386284a7d3b6ea0cdd2785273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000739f46f9499c20dd3bb111215002ecb3c5fd52fc2173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073813d9afe8da7768c468d5330bb18175916f29c7f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073c76039347c20a331af1938e3be73273a965baa0873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737a756813c419d23b0e9a1b8a1d1dafe662805bb173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073eccd1694d625a37169189d248f8e7d55be038a6f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073da9551d92636d33f5f9712672d67fd08fd4288e373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ef745b83feea5c811af76132245374c6a8be8d0873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733fb3365b48045208737ece98aa31b2f7ac6bbdc773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733d92898c09614702b5031b42a3aa41f2e7fffe0773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007377d04628a093b243d9750f32893766c3d0b0449d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d509f14123021f60df832518d08176ca4dfd0bfa73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007370c8825cd741be7750bbc462c776b6a3b6f3955173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007395f445cc9e6a90b9445f2ea805908ac6768a9e1873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007384a13df125acafe9ac2f11d92a1d662e66f98c3c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007374d5edf85139c6289f2ee1ff49dd8e1864b0104c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737d03e3e2c833018ee3a8cfcf3876296a2186696c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073fd69dfd91aeb80d36e5b2200f581eb2350b078db73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e0123335bde05195e0d78f79c9b2776493fa916c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073199fd4bfc1f012bbffa5f53f931b32037266fccc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f416d9bb6576e15e9587a900134255dede849cf273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073335525b494f659cecdce90d329a41bed94e9d5f773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737a57312c96d212ec4e77853c301d45c1d26487b073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073bd4c4049bf7b42889d343384743a808f9d6a1f4573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734b8caed2850513795635c123635cd8046a84652073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073daf55518e4eabfe34b39b953291c1a8383ef602073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a166f681be8db248237444f0c48962f8f8940c9873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073b366fdb2b665644524df762bd09c87fa3f6d7be473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733147b17e5eb3b9a36a7ca16144e16aae6295f49973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731f83404171f76ce8686b62bb89670ae7ab8e2d0d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738de02b898091a2401f2d89f6cf3c50307c32949273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d96be45080e824686694e7f74169330ffc55d1df73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073be7ac41e85fdb0171207d03bb6a2d8695e4e903373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f3e4bb46f9c8e06e57996fd6b0337f60e824be8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a8b472599193d1bc01acfd6a31a9b6f5dc2a93e673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d68936188779efb41bef5659b9183b34fb7963fe73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000738027e4eaef12dae0b5a68b81be3ec46a88e6ff1a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733a48b3b3fdf7efde99044d1f63ed1d00f61702bc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007315faa3f30d2691f7ff8b067938c07468f5ee6c1f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e64f4c1793057d8e6ef4d72dc7547b51b2aaa75073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007388be47aef010e57b01ac9e9f2272281c6b1e651473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d6fc56bd9d65a4f00a3969791db598bd74f389b473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f27e69c6ef6dfc96f62f0b56dbd27ffedcaf72ba73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a72726267c804e7508df6b3ac14014f1eac2d5ad73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000732ec79180e470e303aa0a6a3033bc7d19708ad36573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073423907a13dce86f5415a4e4221cacbdfb9cddf4773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007374a8fbb9651dac3bb9f2f0d7b1af9ca3de9181ce73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007313cbb2dcbe4d39d8743bf1650c4e8c09103a324b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ddbaaed29761659cb20554c343d656a0cd8095b573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073787551ae0ab07de8eb91d1535dbd37f379b0111d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735bac6fd07ed7c3572ce36cb2b841d6ec84af27f073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200c576565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200c32e906200c473565b90600052602060002090601f0160209004810192826200c35257600085556200c39e565b82601f106200c36d57805160ff19168380011785556200c39e565b828001600101855582156200c39e579182015b828111156200c39d5782518255916020019190600101906200c380565b5b5090506200c3ad91906200c3b1565b5090565b5b808211156200c3cc5760008160009055506001016200c3b2565b5090565b60006200c3df6027836200c462565b91506200c3ec826200c4d8565b604082019050919050565b60006200c406602e836200c462565b91506200c413826200c527565b604082019050919050565b600060208201905081810360008301526200c439816200c3d0565b9050919050565b600060208201905081810360008301526200c45b816200c3f7565b9050919050565b600082825260208201905092915050565b600060028204905060018216806200c48c57607f821691505b602082108114156200c4a3576200c4a26200c4a9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f455243373231413a206d61782062617463682073697a65206d7573742062652060008201527f6e6f6e7a65726f00000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a20636f6c6c656374696f6e206d757374206861766520612060008201527f6e6f6e7a65726f20737570706c79000000000000000000000000000000000000602082015250565b60805160a0516150a16200c5aa600039600081816128250152818161284e0152612fcd015260006117bb01526150a16000f3fe60806040526004361061023b5760003560e01c80636352211e1161012e578063ac446002116100ab578063d04950a11161006f578063d04950a11461085e578063d7224ba014610889578063dc33e681146108b4578063e985e9c5146108f1578063f2fde38b1461092e5761023b565b8063ac446002146107a1578063af7b26e9146107b8578063b88d4fde146107e1578063bd0a84391461080a578063c87b56dd146108215761023b565b80638da5cb5b116100f25780638da5cb5b146106c95780639231ab2a146106f457806395d89b4114610731578063a0712d681461075c578063a22cb465146107785761023b565b80636352211e146105e457806369ba1a751461062157806370a082311461064a578063715018a6146106875780638d859f3e1461069e5761023b565b80632f2ffc57116101bc5780634e69d560116101805780634e69d560146104ff5780634f6ccce71461052a57806355f804b3146105675780635c37809d1461059057806362c6f7b9146105b95761023b565b80632f2ffc57146104085780632f745c59146104335780633af32abf146104705780633fd17366146104ad57806342842e0e146104d65761023b565b8063095ea7b311610203578063095ea7b31461033757806318160ddd146103605780631d428c121461038b578063200d2ed2146103b457806323b872dd146103df5761023b565b80630199e3471461024057806301ffc9a714610269578063050225ea146102a657806306fdde03146102cf578063081812fc146102fa575b600080fd5b34801561024c57600080fd5b5061026760048036038101906102629190613939565b610957565b005b34801561027557600080fd5b50610290600480360381019061028b9190613896565b6109dd565b60405161029d9190613f3d565b60405180910390f35b3480156102b257600080fd5b506102cd60048036038101906102c89190613809565b610b27565b005b3480156102db57600080fd5b506102e4610bb1565b6040516102f19190613f58565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c9190613939565b610c43565b60405161032e9190613ed6565b60405180910390f35b34801561034357600080fd5b5061035e60048036038101906103599190613809565b610cc8565b005b34801561036c57600080fd5b50610375610de1565b6040516103829190614335565b60405180910390f35b34801561039757600080fd5b506103b260048036038101906103ad9190613849565b610deb565b005b3480156103c057600080fd5b506103c9610f0c565b6040516103d69190614335565b60405180910390f35b3480156103eb57600080fd5b50610406600480360381019061040191906136f3565b610f12565b005b34801561041457600080fd5b5061041d610f22565b60405161042a9190614335565b60405180910390f35b34801561043f57600080fd5b5061045a60048036038101906104559190613809565b610f28565b6040516104679190614335565b60405180910390f35b34801561047c57600080fd5b5061049760048036038101906104929190613686565b611126565b6040516104a49190613f3d565b60405180910390f35b3480156104b957600080fd5b506104d460048036038101906104cf9190613939565b61117c565b005b3480156104e257600080fd5b506104fd60048036038101906104f891906136f3565b611202565b005b34801561050b57600080fd5b50610514611222565b6040516105219190614335565b60405180910390f35b34801561053657600080fd5b50610551600480360381019061054c9190613939565b61122c565b60405161055e9190614335565b60405180910390f35b34801561057357600080fd5b5061058e600480360381019061058991906138f0565b61127f565b005b34801561059c57600080fd5b506105b760048036038101906105b291906138f0565b611315565b005b3480156105c557600080fd5b506105ce6113ab565b6040516105db9190613f3d565b60405180910390f35b3480156105f057600080fd5b5061060b60048036038101906106069190613939565b6113be565b6040516106189190613ed6565b60405180910390f35b34801561062d57600080fd5b5061064860048036038101906106439190613939565b6113d4565b005b34801561065657600080fd5b50610671600480360381019061066c9190613686565b61145a565b60405161067e9190614335565b60405180910390f35b34801561069357600080fd5b5061069c611543565b005b3480156106aa57600080fd5b506106b36115cb565b6040516106c09190614335565b60405180910390f35b3480156106d557600080fd5b506106de6115d1565b6040516106eb9190613ed6565b60405180910390f35b34801561070057600080fd5b5061071b60048036038101906107169190613939565b6115fa565b604051610728919061431a565b60405180910390f35b34801561073d57600080fd5b50610746611612565b6040516107539190613f58565b60405180910390f35b61077660048036038101906107719190613939565b6116a4565b005b34801561078457600080fd5b5061079f600480360381019061079a91906137c9565b611943565b005b3480156107ad57600080fd5b506107b6611ac4565b005b3480156107c457600080fd5b506107df60048036038101906107da9190613939565b611c45565b005b3480156107ed57600080fd5b5061080860048036038101906108039190613746565b611ccb565b005b34801561081657600080fd5b5061081f611d27565b005b34801561082d57600080fd5b5061084860048036038101906108439190613939565b611dcf565b6040516108559190613f58565b60405180910390f35b34801561086a57600080fd5b50610873611f1e565b6040516108809190614335565b60405180910390f35b34801561089557600080fd5b5061089e611f24565b6040516108ab9190614335565b60405180910390f35b3480156108c057600080fd5b506108db60048036038101906108d69190613686565b611f2a565b6040516108e89190614335565b60405180910390f35b3480156108fd57600080fd5b50610918600480360381019061091391906136b3565b611f3c565b6040516109259190613f3d565b60405180910390f35b34801561093a57600080fd5b5061095560048036038101906109509190613686565b611fd0565b005b61095f6120c8565b73ffffffffffffffffffffffffffffffffffffffff1661097d6115d1565b73ffffffffffffffffffffffffffffffffffffffff16146109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca9061411a565b60405180910390fd5b80600b8190555050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610aa857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b1057507f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b205750610b1f826120d0565b5b9050919050565b610b2f6120c8565b73ffffffffffffffffffffffffffffffffffffffff16610b4d6115d1565b73ffffffffffffffffffffffffffffffffffffffff1614610ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9a9061411a565b60405180910390fd5b610bad828261213a565b5050565b606060028054610bc0906146c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610bec906146c4565b8015610c395780601f10610c0e57610100808354040283529160200191610c39565b820191906000526020600020905b815481529060010190602001808311610c1c57829003601f168201915b5050505050905090565b6000610c4e82612158565b610c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c84906142da565b60405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610cd3826113be565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b9061419a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610d636120c8565b73ffffffffffffffffffffffffffffffffffffffff161480610d925750610d9181610d8c6120c8565b611f3c565b5b610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc89061407a565b60405180910390fd5b610ddc838383612166565b505050565b6000600154905090565b610df36120c8565b73ffffffffffffffffffffffffffffffffffffffff16610e116115d1565b73ffffffffffffffffffffffffffffffffffffffff1614610e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5e9061411a565b60405180910390fd5b60005b82829050811015610f0757600160116000858585818110610e8e57610e8d61482e565b5b9050602002016020810190610ea39190613686565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610eff90614727565b915050610e6a565b505050565b60105481565b610f1d838383612218565b505050565b600b5481565b6000610f338361145a565b8210610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b90613f7a565b60405180910390fd5b6000610f7e610de1565b905060008060005b838110156110e4576000600460008381526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161461107857806000015192505b8773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110d057868414156110c1578195505050505050611120565b83806110cc90614727565b9450505b5080806110dc90614727565b915050610f86565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111179061427a565b60405180910390fd5b92915050565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6111846120c8565b73ffffffffffffffffffffffffffffffffffffffff166111a26115d1565b73ffffffffffffffffffffffffffffffffffffffff16146111f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ef9061411a565b60405180910390fd5b80600c8190555050565b61121d83838360405180602001604052806000815250611ccb565b505050565b6000601054905090565b6000611236610de1565b8210611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126e90613fda565b60405180910390fd5b819050919050565b6112876120c8565b73ffffffffffffffffffffffffffffffffffffffff166112a56115d1565b73ffffffffffffffffffffffffffffffffffffffff16146112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f29061411a565b60405180910390fd5b80600e908051906020019061131192919061340a565b5050565b61131d6120c8565b73ffffffffffffffffffffffffffffffffffffffff1661133b6115d1565b73ffffffffffffffffffffffffffffffffffffffff1614611391576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113889061411a565b60405180910390fd5b80600f90805190602001906113a792919061340a565b5050565b600d60009054906101000a900460ff1681565b60006113c9826127d1565b600001519050919050565b6113dc6120c8565b73ffffffffffffffffffffffffffffffffffffffff166113fa6115d1565b73ffffffffffffffffffffffffffffffffffffffff1614611450576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114479061411a565b60405180910390fd5b8060108190555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c2906140ba565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050919050565b61154b6120c8565b73ffffffffffffffffffffffffffffffffffffffff166115696115d1565b73ffffffffffffffffffffffffffffffffffffffff16146115bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b69061411a565b60405180910390fd5b6115c960006129d4565b565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611602613490565b61160b826127d1565b9050919050565b606060038054611621906146c4565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906146c4565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611712576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117099061405a565b60405180910390fd5b600160105414801561176d5750601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061177a57506002601054145b6117b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b09061403a565b60405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000816117e3610de1565b6117ed919061446b565b111561182e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611825906140da565b60405180910390fd5b60016010541480156118555750600b548161184833611f2a565b611852919061446b565b11155b8061186257506002601054145b6118a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118989061409a565b60405180910390fd5b600a548111156118e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118dd9061425a565b60405180910390fd5b80600c546118f491906144f2565b341015611936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192d906141fa565b60405180910390fd5b611940338261213a565b50565b61194b6120c8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b09061415a565b60405180910390fd5b80600760006119c66120c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611a736120c8565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611ab89190613f3d565b60405180910390a35050565b611acc6120c8565b73ffffffffffffffffffffffffffffffffffffffff16611aea6115d1565b73ffffffffffffffffffffffffffffffffffffffff1614611b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b379061411a565b60405180910390fd5b60026009541415611b86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7d9061429a565b60405180910390fd5b600260098190555060003373ffffffffffffffffffffffffffffffffffffffff1647604051611bb490613ec1565b60006040518083038185875af1925050503d8060008114611bf1576040519150601f19603f3d011682016040523d82523d6000602084013e611bf6565b606091505b5050905080611c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c31906141ba565b60405180910390fd5b506001600981905550565b611c4d6120c8565b73ffffffffffffffffffffffffffffffffffffffff16611c6b6115d1565b73ffffffffffffffffffffffffffffffffffffffff1614611cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb89061411a565b60405180910390fd5b80600a8190555050565b611cd6848484612218565b611ce284848484612a98565b611d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d18906141da565b60405180910390fd5b50505050565b611d2f6120c8565b73ffffffffffffffffffffffffffffffffffffffff16611d4d6115d1565b73ffffffffffffffffffffffffffffffffffffffff1614611da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9a9061411a565b60405180910390fd5b600d60009054906101000a900460ff1615600d60006101000a81548160ff021916908315150217905550565b6060611dda82612158565b611e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e109061413a565b60405180910390fd5b600d60009054906101000a900460ff1615611e8b576000611e38612c2f565b90506000815111611e585760405180602001604052806000815250611e83565b80611e6284612cc1565b604051602001611e73929190613e9d565b6040516020818303038152906040525b915050611f19565b600f8054611e98906146c4565b80601f0160208091040260200160405190810160405280929190818152602001828054611ec4906146c4565b8015611f115780601f10611ee657610100808354040283529160200191611f11565b820191906000526020600020905b815481529060010190602001808311611ef457829003601f168201915b505050505090505b919050565b600a5481565b60085481565b6000611f3582612e22565b9050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611fd86120c8565b73ffffffffffffffffffffffffffffffffffffffff16611ff66115d1565b73ffffffffffffffffffffffffffffffffffffffff161461204c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120439061411a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b390613f9a565b60405180910390fd5b6120c5816129d4565b50565b600033905090565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612154828260405180602001604052806000815250612f0b565b5050565b600060015482109050919050565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000612223826127d1565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff1661224a6120c8565b73ffffffffffffffffffffffffffffffffffffffff1614806122a6575061226f6120c8565b73ffffffffffffffffffffffffffffffffffffffff1661228e84610c43565b73ffffffffffffffffffffffffffffffffffffffff16145b806122c257506122c182600001516122bc6120c8565b611f3c565b5b905080612304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fb9061417a565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614612376576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236d906140fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156123e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dd90613ffa565b60405180910390fd5b6123f385858560016133eb565b6124036000848460000151612166565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a90046fffffffffffffffffffffffffffffffff16612471919061454c565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a90046fffffffffffffffffffffffffffffffff166125159190614425565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060405180604001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff168152506004600085815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550905050600060018461261b919061446b565b9050600073ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156127615761269181612158565b15612760576040518060400160405280846000015173ffffffffffffffffffffffffffffffffffffffff168152602001846020015167ffffffffffffffff168152506004600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055509050505b5b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46127c986868660016133f1565b505050505050565b6127d9613490565b6127e282612158565b612821576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281890613fba565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000083106128855760017f0000000000000000000000000000000000000000000000000000000000000000846128789190614580565b612882919061446b565b90505b60008390505b818110612993576000600460008381526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161461297f578093505050506129cf565b50808061298b9061469a565b91505061288b565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c6906142ba565b60405180910390fd5b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000612ab98473ffffffffffffffffffffffffffffffffffffffff166133f7565b15612c22578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612ae26120c8565b8786866040518563ffffffff1660e01b8152600401612b049493929190613ef1565b602060405180830381600087803b158015612b1e57600080fd5b505af1925050508015612b4f57506040513d601f19601f82011682018060405250810190612b4c91906138c3565b60015b612bd2573d8060008114612b7f576040519150601f19603f3d011682016040523d82523d6000602084013e612b84565b606091505b50600081511415612bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bc1906141da565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612c27565b600190505b949350505050565b6060600e8054612c3e906146c4565b80601f0160208091040260200160405190810160405280929190818152602001828054612c6a906146c4565b8015612cb75780601f10612c8c57610100808354040283529160200191612cb7565b820191906000526020600020905b815481529060010190602001808311612c9a57829003601f168201915b5050505050905090565b60606000821415612d09576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612e1d565b600082905060005b60008214612d3b578080612d2490614727565b915050600a82612d3491906144c1565b9150612d11565b60008167ffffffffffffffff811115612d5757612d5661485d565b5b6040519080825280601f01601f191660200182016040528015612d895781602001600182028036833780820191505090505b5090505b60008514612e1657600182612da29190614580565b9150600a85612db19190614770565b6030612dbd919061446b565b60f81b818381518110612dd357612dd261482e565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612e0f91906144c1565b9450612d8d565b8093505050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e8a9061401a565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050919050565b60006001549050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612f82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f799061423a565b60405180910390fd5b612f8b81612158565b15612fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fc29061421a565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000083111561302e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613025906142fa565b60405180910390fd5b61303b60008583866133eb565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016000820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681525050905060405180604001604052808583600001516131389190614425565b6fffffffffffffffffffffffffffffffff16815260200185836020015161315f9190614425565b6fffffffffffffffffffffffffffffffff16815250600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505060405180604001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff168152506004600084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550905050600082905060005b858110156133ce57818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461336e6000888488612a98565b6133ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133a4906141da565b60405180910390fd5b81806133b890614727565b92505080806133c690614727565b9150506132fd565b50806001819055506133e360008785886133f1565b505050505050565b50505050565b50505050565b600080823b905060008111915050919050565b828054613416906146c4565b90600052602060002090601f016020900481019282613438576000855561347f565b82601f1061345157805160ff191683800117855561347f565b8280016001018555821561347f579182015b8281111561347e578251825591602001919060010190613463565b5b50905061348c91906134ca565b5090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b5b808211156134e35760008160009055506001016134cb565b5090565b60006134fa6134f584614375565b614350565b9050828152602081018484840111156135165761351561489b565b5b613521848285614658565b509392505050565b600061353c613537846143a6565b614350565b9050828152602081018484840111156135585761355761489b565b5b613563848285614658565b509392505050565b60008135905061357a8161500f565b92915050565b60008083601f84011261359657613595614891565b5b8235905067ffffffffffffffff8111156135b3576135b261488c565b5b6020830191508360208202830111156135cf576135ce614896565b5b9250929050565b6000813590506135e581615026565b92915050565b6000813590506135fa8161503d565b92915050565b60008151905061360f8161503d565b92915050565b600082601f83011261362a57613629614891565b5b813561363a8482602086016134e7565b91505092915050565b600082601f83011261365857613657614891565b5b8135613668848260208601613529565b91505092915050565b60008135905061368081615054565b92915050565b60006020828403121561369c5761369b6148a5565b5b60006136aa8482850161356b565b91505092915050565b600080604083850312156136ca576136c96148a5565b5b60006136d88582860161356b565b92505060206136e98582860161356b565b9150509250929050565b60008060006060848603121561370c5761370b6148a5565b5b600061371a8682870161356b565b935050602061372b8682870161356b565b925050604061373c86828701613671565b9150509250925092565b600080600080608085870312156137605761375f6148a5565b5b600061376e8782880161356b565b945050602061377f8782880161356b565b935050604061379087828801613671565b925050606085013567ffffffffffffffff8111156137b1576137b06148a0565b5b6137bd87828801613615565b91505092959194509250565b600080604083850312156137e0576137df6148a5565b5b60006137ee8582860161356b565b92505060206137ff858286016135d6565b9150509250929050565b600080604083850312156138205761381f6148a5565b5b600061382e8582860161356b565b925050602061383f85828601613671565b9150509250929050565b600080602083850312156138605761385f6148a5565b5b600083013567ffffffffffffffff81111561387e5761387d6148a0565b5b61388a85828601613580565b92509250509250929050565b6000602082840312156138ac576138ab6148a5565b5b60006138ba848285016135eb565b91505092915050565b6000602082840312156138d9576138d86148a5565b5b60006138e784828501613600565b91505092915050565b600060208284031215613906576139056148a5565b5b600082013567ffffffffffffffff811115613924576139236148a0565b5b61393084828501613643565b91505092915050565b60006020828403121561394f5761394e6148a5565b5b600061395d84828501613671565b91505092915050565b61396f816145b4565b82525050565b61397e816145b4565b82525050565b61398d816145c6565b82525050565b600061399e826143d7565b6139a881856143ed565b93506139b8818560208601614667565b6139c1816148aa565b840191505092915050565b60006139d7826143e2565b6139e18185614409565b93506139f1818560208601614667565b6139fa816148aa565b840191505092915050565b6000613a10826143e2565b613a1a818561441a565b9350613a2a818560208601614667565b80840191505092915050565b6000613a43602283614409565b9150613a4e826148bb565b604082019050919050565b6000613a66602683614409565b9150613a718261490a565b604082019050919050565b6000613a89602a83614409565b9150613a9482614959565b604082019050919050565b6000613aac602383614409565b9150613ab7826149a8565b604082019050919050565b6000613acf602583614409565b9150613ada826149f7565b604082019050919050565b6000613af2603183614409565b9150613afd82614a46565b604082019050919050565b6000613b15601283614409565b9150613b2082614a95565b602082019050919050565b6000613b38601e83614409565b9150613b4382614abe565b602082019050919050565b6000613b5b603983614409565b9150613b6682614ae7565b604082019050919050565b6000613b7e601e83614409565b9150613b8982614b36565b602082019050919050565b6000613ba1602b83614409565b9150613bac82614b5f565b604082019050919050565b6000613bc4601283614409565b9150613bcf82614bae565b602082019050919050565b6000613be7602683614409565b9150613bf282614bd7565b604082019050919050565b6000613c0a602083614409565b9150613c1582614c26565b602082019050919050565b6000613c2d602f83614409565b9150613c3882614c4f565b604082019050919050565b6000613c50601a83614409565b9150613c5b82614c9e565b602082019050919050565b6000613c73603283614409565b9150613c7e82614cc7565b604082019050919050565b6000613c96602283614409565b9150613ca182614d16565b604082019050919050565b6000613cb96000836143fe565b9150613cc482614d65565b600082019050919050565b6000613cdc601083614409565b9150613ce782614d68565b602082019050919050565b6000613cff603383614409565b9150613d0a82614d91565b604082019050919050565b6000613d22601683614409565b9150613d2d82614de0565b602082019050919050565b6000613d45601d83614409565b9150613d5082614e09565b602082019050919050565b6000613d68602183614409565b9150613d7382614e32565b604082019050919050565b6000613d8b601683614409565b9150613d9682614e81565b602082019050919050565b6000613dae602e83614409565b9150613db982614eaa565b604082019050919050565b6000613dd1601f83614409565b9150613ddc82614ef9565b602082019050919050565b6000613df4602f83614409565b9150613dff82614f22565b604082019050919050565b6000613e17602d83614409565b9150613e2282614f71565b604082019050919050565b6000613e3a602283614409565b9150613e4582614fc0565b604082019050919050565b604082016000820151613e666000850182613966565b506020820151613e796020850182613e8e565b50505050565b613e888161463a565b82525050565b613e9781614644565b82525050565b6000613ea98285613a05565b9150613eb58284613a05565b91508190509392505050565b6000613ecc82613cac565b9150819050919050565b6000602082019050613eeb6000830184613975565b92915050565b6000608082019050613f066000830187613975565b613f136020830186613975565b613f206040830185613e7f565b8181036060830152613f328184613993565b905095945050505050565b6000602082019050613f526000830184613984565b92915050565b60006020820190508181036000830152613f7281846139cc565b905092915050565b60006020820190508181036000830152613f9381613a36565b9050919050565b60006020820190508181036000830152613fb381613a59565b9050919050565b60006020820190508181036000830152613fd381613a7c565b9050919050565b60006020820190508181036000830152613ff381613a9f565b9050919050565b6000602082019050818103600083015261401381613ac2565b9050919050565b6000602082019050818103600083015261403381613ae5565b9050919050565b6000602082019050818103600083015261405381613b08565b9050919050565b6000602082019050818103600083015261407381613b2b565b9050919050565b6000602082019050818103600083015261409381613b4e565b9050919050565b600060208201905081810360008301526140b381613b71565b9050919050565b600060208201905081810360008301526140d381613b94565b9050919050565b600060208201905081810360008301526140f381613bb7565b9050919050565b6000602082019050818103600083015261411381613bda565b9050919050565b6000602082019050818103600083015261413381613bfd565b9050919050565b6000602082019050818103600083015261415381613c20565b9050919050565b6000602082019050818103600083015261417381613c43565b9050919050565b6000602082019050818103600083015261419381613c66565b9050919050565b600060208201905081810360008301526141b381613c89565b9050919050565b600060208201905081810360008301526141d381613ccf565b9050919050565b600060208201905081810360008301526141f381613cf2565b9050919050565b6000602082019050818103600083015261421381613d15565b9050919050565b6000602082019050818103600083015261423381613d38565b9050919050565b6000602082019050818103600083015261425381613d5b565b9050919050565b6000602082019050818103600083015261427381613d7e565b9050919050565b6000602082019050818103600083015261429381613da1565b9050919050565b600060208201905081810360008301526142b381613dc4565b9050919050565b600060208201905081810360008301526142d381613de7565b9050919050565b600060208201905081810360008301526142f381613e0a565b9050919050565b6000602082019050818103600083015261431381613e2d565b9050919050565b600060408201905061432f6000830184613e50565b92915050565b600060208201905061434a6000830184613e7f565b92915050565b600061435a61436b565b905061436682826146f6565b919050565b6000604051905090565b600067ffffffffffffffff8211156143905761438f61485d565b5b614399826148aa565b9050602081019050919050565b600067ffffffffffffffff8211156143c1576143c061485d565b5b6143ca826148aa565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000614430826145fe565b915061443b836145fe565b9250826fffffffffffffffffffffffffffffffff038211156144605761445f6147a1565b5b828201905092915050565b60006144768261463a565b91506144818361463a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156144b6576144b56147a1565b5b828201905092915050565b60006144cc8261463a565b91506144d78361463a565b9250826144e7576144e66147d0565b5b828204905092915050565b60006144fd8261463a565b91506145088361463a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614541576145406147a1565b5b828202905092915050565b6000614557826145fe565b9150614562836145fe565b925082821015614575576145746147a1565b5b828203905092915050565b600061458b8261463a565b91506145968361463a565b9250828210156145a9576145a86147a1565b5b828203905092915050565b60006145bf8261461a565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b8381101561468557808201518184015260208101905061466a565b83811115614694576000848401525b50505050565b60006146a58261463a565b915060008214156146b9576146b86147a1565b5b600182039050919050565b600060028204905060018216806146dc57607f821691505b602082108114156146f0576146ef6147ff565b5b50919050565b6146ff826148aa565b810181811067ffffffffffffffff8211171561471e5761471d61485d565b5b80604052505050565b60006147328261463a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614765576147646147a1565b5b600182019050919050565b600061477b8261463a565b91506147868361463a565b925082614796576147956147d0565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231413a206f776e657220696e646578206f7574206f6620626f756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a206f776e657220717565727920666f72206e6f6e6578697360008201527f74656e7420746f6b656e00000000000000000000000000000000000000000000602082015250565b7f455243373231413a20676c6f62616c20696e646578206f7574206f6620626f7560008201527f6e64730000000000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a206e756d626572206d696e74656420717565727920666f7260008201527f20746865207a65726f2061646472657373000000000000000000000000000000602082015250565b7f53616c65206973206e6f74204163746976650000000000000000000000000000600082015250565b7f5468652063616c6c657220697320616e6f7468657220636f6e74726163740000600082015250565b7f455243373231413a20617070726f76652063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f76656420666f7220616c6c00000000000000602082015250565b7f5175616e74697479206578636565647320616c6c6f776564204d696e74730000600082015250565b7f455243373231413a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b7f72656163686564206d617820737570706c790000000000000000000000000000600082015250565b7f455243373231413a207472616e736665722066726f6d20696e636f727265637460008201527f206f776e65720000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f455243373231413a20617070726f766520746f2063616c6c6572000000000000600082015250565b7f455243373231413a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b7f455243373231413a20617070726f76616c20746f2063757272656e74206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b7f455243373231413a207472616e7366657220746f206e6f6e204552433732315260008201527f6563656976657220696d706c656d656e74657200000000000000000000000000602082015250565b7f4e65656420746f2073656e64206d6f7265204554482e00000000000000000000600082015250565b7f455243373231413a20746f6b656e20616c7265616479206d696e746564000000600082015250565b7f455243373231413a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f63616e206e6f74206d696e742074686973206d616e7900000000000000000000600082015250565b7f455243373231413a20756e61626c6520746f2067657420746f6b656e206f662060008201527f6f776e657220627920696e646578000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b7f455243373231413a20756e61626c6520746f2064657465726d696e652074686560008201527f206f776e6572206f6620746f6b656e0000000000000000000000000000000000602082015250565b7f455243373231413a20617070726f76656420717565727920666f72206e6f6e6560008201527f78697374656e7420746f6b656e00000000000000000000000000000000000000602082015250565b7f455243373231413a207175616e7469747920746f206d696e7420746f6f20686960008201527f6768000000000000000000000000000000000000000000000000000000000000602082015250565b615018816145b4565b811461502357600080fd5b50565b61502f816145c6565b811461503a57600080fd5b50565b615046816145d2565b811461505157600080fd5b50565b61505d8161463a565b811461506857600080fd5b5056fea26469706673582212204eec0423f7a0dcc161290d96d2e55f64f972be7f9152b2b4ccea3034b20b2b9a64736f6c6343000807003368747470733a2f2f6361736863726162732e6d7970696e6174612e636c6f75642f697066732f516d50584c586f50544b476739536461634a695a556f32483845435351744e3259736450766d3846354c57795276

Deployed ByteCode Sourcemap

19850:39305:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;58815:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11167:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;59072:80;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12739:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13940:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13556:379;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10137:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;57561:187;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20421:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14623:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20025:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10418:744;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;57439:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;58607:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14770:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;58995:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10236:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;57859:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;57754:99;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20317:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12616:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;58919:72;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11542:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2626:103;;;;;;;;;;;;;:::i;:::-;;20103:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2403:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;58184:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12838:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;56438:575;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14149:274;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;58335:181;;;;;;;;;;;;;:::i;:::-;;58709:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14932:311;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;58520:83;;;;;;;;;;;;;:::i;:::-;;57020:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19947:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18062:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;58073:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14430:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2738:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;58815:98;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;58906:1:::1;58888:15;:19;;;;58815:98:::0;:::o;11167:370::-;11294:4;11339:25;11324:40;;;:11;:40;;;;:99;;;;11390:33;11375:48;;;:11;:48;;;;11324:99;:160;;;;11449:35;11434:50;;;:11;:50;;;;11324:160;:207;;;;11495:36;11519:11;11495:23;:36::i;:::-;11324:207;11310:221;;11167:370;;;:::o;59072:80::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;59131:15:::1;59141:1;59144;59131:9;:15::i;:::-;59072:80:::0;;:::o;12739:94::-;12793:13;12822:5;12815:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12739:94;:::o;13940:204::-;14008:7;14032:16;14040:7;14032;:16::i;:::-;14024:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14114:15;:24;14130:7;14114:24;;;;;;;;;;;;;;;;;;;;;14107:31;;13940:204;;;:::o;13556:379::-;13625:13;13641:24;13657:7;13641:15;:24::i;:::-;13625:40;;13686:5;13680:11;;:2;:11;;;;13672:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;13771:5;13755:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;13780:37;13797:5;13804:12;:10;:12::i;:::-;13780:16;:37::i;:::-;13755:62;13739:153;;;;;;;;;;;;:::i;:::-;;;;;;;;;13901:28;13910:2;13914:7;13923:5;13901:8;:28::i;:::-;13618:317;13556:379;;:::o;10137:94::-;10190:7;10213:12;;10206:19;;10137:94;:::o;57561:187::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;57665:6:::1;57661:81;57676:6;;:13;;57674:1;:15;57661:81;;;57738:4;57704:20;:31;57725:6;;57732:1;57725:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;57704:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;57690:3;;;;;:::i;:::-;;;;57661:81;;;;57561:187:::0;;:::o;20421:22::-;;;;:::o;14623:142::-;14731:28;14741:4;14747:2;14751:7;14731:9;:28::i;:::-;14623:142;;;:::o;20025:34::-;;;;:::o;10418:744::-;10527:7;10562:16;10572:5;10562:9;:16::i;:::-;10554:5;:24;10546:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;10624:22;10649:13;:11;:13::i;:::-;10624:38;;10669:19;10699:25;10749:9;10744:350;10768:14;10764:1;:18;10744:350;;;10798:31;10832:11;:14;10844:1;10832:14;;;;;;;;;;;10798:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10885:1;10859:28;;:9;:14;;;:28;;;10855:89;;10920:9;:14;;;10900:34;;10855:89;10977:5;10956:26;;:17;:26;;;10952:135;;;11014:5;10999:11;:20;10995:59;;;11041:1;11034:8;;;;;;;;;10995:59;11064:13;;;;;:::i;:::-;;;;10952:135;10789:305;10784:3;;;;;:::i;:::-;;;;10744:350;;;;11100:56;;;;;;;;;;:::i;:::-;;;;;;;;10418:744;;;;;:::o;57439:112::-;57498:4;57518:20;:27;57539:5;57518:27;;;;;;;;;;;;;;;;;;;;;;;;;57511:34;;57439:112;;;:::o;58607:98::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;58690:9:::1;58682:5;:17;;;;58607:98:::0;:::o;14770:157::-;14882:39;14899:4;14905:2;14909:7;14882:39;;;;;;;;;;;;:16;:39::i;:::-;14770:157;;;:::o;58995:73::-;59035:4;59056:6;;59049:13;;58995:73;:::o;10236:177::-;10303:7;10335:13;:11;:13::i;:::-;10327:5;:21;10319:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10402:5;10395:12;;10236:177;;;:::o;57859:98::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;57944:7:::1;57928:13;:23;;;;;;;;;;;;:::i;:::-;;57859:98:::0;:::o;57754:99::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;57844:3:::1;57826:15;:21;;;;;;;;;;;;:::i;:::-;;57754:99:::0;:::o;20317:29::-;;;;;;;;;;;;;:::o;12616:118::-;12680:7;12703:20;12715:7;12703:11;:20::i;:::-;:25;;;12696:32;;12616:118;;;:::o;58919:72::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;58984:1:::1;58975:6;:10;;;;58919:72:::0;:::o;11542:211::-;11606:7;11647:1;11630:19;;:5;:19;;;;11622:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;11719:12;:19;11732:5;11719:19;;;;;;;;;;;;;;;:27;;;;;;;;;;;;11711:36;;11704:43;;11542:211;;;:::o;2626:103::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2691:30:::1;2718:1;2691:18;:30::i;:::-;2626:103::o:0;20103:33::-;;;;:::o;2403:87::-;2449:7;2476:6;;;;;;;;;;;2469:13;;2403:87;:::o;58184:147::-;58265:21;;:::i;:::-;58305:20;58317:7;58305:11;:20::i;:::-;58298:27;;58184:147;;;:::o;12838:98::-;12894:13;12923:7;12916:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12838:98;:::o;56438:575::-;56372:10;56359:23;;:9;:23;;;56351:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;56525:1:::1;56515:6;;:11;:47;;;;;56530:20;:32;56551:10;56530:32;;;;;;;;;;;;;;;;;;;;;;;;;56515:47;:62;;;;56576:1;56566:6;;:11;56515:62;56507:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;56644:14;56632:8;56616:13;:11;:13::i;:::-;:24;;;;:::i;:::-;:42;;56608:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;56709:1;56699:6;;:11;:69;;;;;56753:15;;56741:8;56714:24;56727:10;56714:12;:24::i;:::-;:35;;;;:::i;:::-;:54;;56699:69;56697:88;;;;56784:1;56774:6;;:11;56697:88;56688:134;;;;;;;;;;;;:::i;:::-;;;;;;;;;56851:17;;56839:8;:29;;56829:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;56930:8;56922:5;;:16;;;;:::i;:::-;56909:9;:29;;56901:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;56972:31;56982:10;56994:8;56972:9;:31::i;:::-;56438:575:::0;:::o;14149:274::-;14252:12;:10;:12::i;:::-;14240:24;;:8;:24;;;;14232:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;14349:8;14304:18;:32;14323:12;:10;:12::i;:::-;14304:32;;;;;;;;;;;;;;;:42;14337:8;14304:42;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;;;;;;;14398:8;14369:48;;14384:12;:10;:12::i;:::-;14369:48;;;14408:8;14369:48;;;;;;:::i;:::-;;;;;;;;14149:274;;:::o;58335:181::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;185:1:::1;331:7;;:19;;323:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;185:1;392:7;:18;;;;58400:12:::2;58418:10;:15;;58441:21;58418:49;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;58399:68;;;58482:7;58474:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;58392:124;141:1:::1;435:7;:22;;;;58335:181::o:0;58709:102::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;58804:1:::1;58784:17;:21;;;;58709:102:::0;:::o;14932:311::-;15069:28;15079:4;15085:2;15089:7;15069:9;:28::i;:::-;15120:48;15143:4;15149:2;15153:7;15162:5;15120:22;:48::i;:::-;15104:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;14932:311;;;;:::o;58520:83::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;58588:9:::1;;;;;;;;;;;58587:10;58575:9;;:22;;;;;;;;;;;;;;;;;;58520:83::o:0;57020:413::-;57093:13;57123:16;57131:7;57123;:16::i;:::-;57115:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;57200:9;;;;;;;;;;;57197:231;;;57217:21;57241:10;:8;:10::i;:::-;57217:34;;57296:1;57278:7;57272:21;:25;:104;;;;;;;;;;;;;;;;;57333:7;57342:18;:7;:16;:18::i;:::-;57316:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;57272:104;57258:118;;;;;57197:231;57405:15;57398:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;57020:413;;;;:::o;19947:36::-;;;;:::o;18062:43::-;;;;:::o;58073:107::-;58131:7;58154:20;58168:5;58154:13;:20::i;:::-;58147:27;;58073:107;;;:::o;14430:186::-;14552:4;14575:18;:25;14594:5;14575:25;;;;;;;;;;;;;;;:35;14601:8;14575:35;;;;;;;;;;;;;;;;;;;;;;;;;14568:42;;14430:186;;;;:::o;2738:201::-;2548:12;:10;:12::i;:::-;2537:23;;:7;:5;:7::i;:::-;:23;;;2529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2847:1:::1;2827:22;;:8;:22;;;;2819:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2903:28;2922:8;2903:18;:28::i;:::-;2738:201:::0;:::o;1946:98::-;1999:7;2026:10;2019:17;;1946:98;:::o;7056:157::-;7141:4;7180:25;7165:40;;;:11;:40;;;;7158:47;;7056:157;;;:::o;15359:98::-;15424:27;15434:2;15438:8;15424:27;;;;;;;;;;;;:9;:27::i;:::-;15359:98;;:::o;15248:105::-;15305:4;15335:12;;15325:7;:22;15318:29;;15248:105;;;:::o;17884:172::-;18008:2;17981:15;:24;17997:7;17981:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;18042:7;18038:2;18022:28;;18031:5;18022:28;;;;;;;;;;;;17884:172;;;:::o;16619:1260::-;16716:35;16754:20;16766:7;16754:11;:20::i;:::-;16716:58;;16783:22;16825:13;:18;;;16809:34;;:12;:10;:12::i;:::-;:34;;;:81;;;;16878:12;:10;:12::i;:::-;16854:36;;:20;16866:7;16854:11;:20::i;:::-;:36;;;16809:81;:142;;;;16901:50;16918:13;:18;;;16938:12;:10;:12::i;:::-;16901:16;:50::i;:::-;16809:142;16783:169;;16977:17;16961:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;17109:4;17087:26;;:13;:18;;;:26;;;17071:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;17198:1;17184:16;;:2;:16;;;;17176:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;17251:43;17273:4;17279:2;17283:7;17292:1;17251:21;:43::i;:::-;17302:49;17319:1;17323:7;17332:13;:18;;;17302:8;:49::i;:::-;17390:1;17360:12;:18;17373:4;17360:18;;;;;;;;;;;;;;;:26;;;:31;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17426:1;17398:12;:16;17411:2;17398:16;;;;;;;;;;;;;;;:24;;;:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17457:43;;;;;;;;17472:2;17457:43;;;;;;17483:15;17457:43;;;;;17434:11;:20;17446:7;17434:20;;;;;;;;;;;:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17508:19;17540:1;17530:7;:11;;;;:::i;:::-;17508:33;;17593:1;17552:43;;:11;:24;17564:11;17552:24;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;17548:236;;;17610:20;17618:11;17610:7;:20::i;:::-;17606:171;;;17670:97;;;;;;;;17697:13;:18;;;17670:97;;;;;;17728:13;:28;;;17670:97;;;;;17643:11;:24;17655:11;17643:24;;;;;;;;;;;:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17606:171;17548:236;17816:7;17812:2;17797:27;;17806:4;17797:27;;;;;;;;;;;;17831:42;17852:4;17858:2;17862:7;17871:1;17831:20;:42::i;:::-;16709:1170;;;16619:1260;;;:::o;12005:606::-;12081:21;;:::i;:::-;12122:16;12130:7;12122;:16::i;:::-;12114:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12194:26;12242:12;12231:7;:23;12227:93;;12311:1;12296:12;12286:7;:22;;;;:::i;:::-;:26;;;;:::i;:::-;12265:47;;12227:93;12333:12;12348:7;12333:22;;12328:212;12365:18;12357:4;:26;12328:212;;12402:31;12436:11;:17;12448:4;12436:17;;;;;;;;;;;12402:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12492:1;12466:28;;:9;:14;;;:28;;;12462:71;;12514:9;12507:16;;;;;;;12462:71;12393:147;12385:6;;;;;:::i;:::-;;;;12328:212;;;;12548:57;;;;;;;;;;:::i;:::-;;;;;;;;12005:606;;;;:::o;2948:191::-;3022:16;3041:6;;;;;;;;;;;3022:25;;3067:8;3058:6;;:17;;;;;;;;;;;;;;;;;;3122:8;3091:40;;3112:8;3091:40;;;;;;;;;;;;3011:128;2948:191;:::o;18862:690::-;18999:4;19016:15;:2;:13;;;:15::i;:::-;19012:535;;;19071:2;19055:36;;;19092:12;:10;:12::i;:::-;19106:4;19112:7;19121:5;19055:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;19042:464;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19303:1;19286:6;:13;:18;19282:215;;;19319:61;;;;;;;;;;:::i;:::-;;;;;;;;19282:215;19465:6;19459:13;19450:6;19446:2;19442:15;19435:38;19042:464;19187:45;;;19177:55;;;:6;:55;;;;19170:62;;;;;19012:535;19535:4;19528:11;;18862:690;;;;;;;:::o;57961:108::-;58021:13;58050;58043:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;57961:108;:::o;563:533::-;619:13;659:1;650:5;:10;646:53;;;677:10;;;;;;;;;;;;;;;;;;;;;646:53;709:12;724:5;709:20;;740:14;765:78;780:1;772:4;:9;765:78;;798:8;;;;;:::i;:::-;;;;829:2;821:10;;;;;:::i;:::-;;;765:78;;;853:19;885:6;875:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;853:39;;903:154;919:1;910:5;:10;903:154;;947:1;937:11;;;;;:::i;:::-;;;1014:2;1006:5;:10;;;;:::i;:::-;993:2;:24;;;;:::i;:::-;980:39;;963:6;970;963:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;1043:2;1034:11;;;;;:::i;:::-;;;903:154;;;1081:6;1067:21;;;;;563:533;;;;:::o;11759:240::-;11820:7;11869:1;11852:19;;:5;:19;;;;11836:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;11960:12;:19;11973:5;11960:19;;;;;;;;;;;;;;;:32;;;;;;;;;;;;11952:41;;11945:48;;11759:240;;;:::o;15462:1152::-;15567:20;15590:12;;15567:35;;15631:1;15617:16;;:2;:16;;;;15609:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;15688:21;15696:12;15688:7;:21::i;:::-;15687:22;15679:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15770:12;15758:8;:24;;15750:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15830:61;15860:1;15864:2;15868:12;15882:8;15830:21;:61::i;:::-;15900:30;15933:12;:16;15946:2;15933:16;;;;;;;;;;;;;;;15900:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15975:119;;;;;;;;16025:8;15995:11;:19;;;:39;;;;:::i;:::-;15975:119;;;;;;16078:8;16043:11;:24;;;:44;;;;:::i;:::-;15975:119;;;;;15956:12;:16;15969:2;15956:16;;;;;;;;;;;;;;;:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16129:43;;;;;;;;16144:2;16129:43;;;;;;16155:15;16129:43;;;;;16101:11;:25;16113:12;16101:25;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16181:20;16204:12;16181:35;;16230:9;16225:281;16249:8;16245:1;:12;16225:281;;;16303:12;16299:2;16278:38;;16295:1;16278:38;;;;;;;;;;;;16343:59;16374:1;16378:2;16382:12;16396:5;16343:22;:59::i;:::-;16325:150;;;;;;;;;;;;:::i;:::-;;;;;;;;;16484:14;;;;;:::i;:::-;;;;16259:3;;;;;:::i;:::-;;;;16225:281;;;;16529:12;16514;:27;;;;16548:60;16577:1;16581:2;16585:12;16599:8;16548:20;:60::i;:::-;15560:1054;;;15462:1152;;;:::o;19557:141::-;;;;;:::o;19703:140::-;;;;;:::o;3171:197::-;3231:4;3249:12;3316:7;3304:20;3296:28;;3359:1;3352:4;:8;3345:15;;;3171:197;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:410:1:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;423:412::-;501:5;526:66;542:49;584:6;542:49;:::i;:::-;526:66;:::i;:::-;517:75;;615:6;608:5;601:21;653:4;646:5;642:16;691:3;682:6;677:3;673:16;670:25;667:112;;;698:79;;:::i;:::-;667:112;788:41;822:6;817:3;812;788:41;:::i;:::-;507:328;423:412;;;;;:::o;841:139::-;887:5;925:6;912:20;903:29;;941:33;968:5;941:33;:::i;:::-;841:139;;;;:::o;1003:568::-;1076:8;1086:6;1136:3;1129:4;1121:6;1117:17;1113:27;1103:122;;1144:79;;:::i;:::-;1103:122;1257:6;1244:20;1234:30;;1287:18;1279:6;1276:30;1273:117;;;1309:79;;:::i;:::-;1273:117;1423:4;1415:6;1411:17;1399:29;;1477:3;1469:4;1461:6;1457:17;1447:8;1443:32;1440:41;1437:128;;;1484:79;;:::i;:::-;1437:128;1003:568;;;;;:::o;1577:133::-;1620:5;1658:6;1645:20;1636:29;;1674:30;1698:5;1674:30;:::i;:::-;1577:133;;;;:::o;1716:137::-;1761:5;1799:6;1786:20;1777:29;;1815:32;1841:5;1815:32;:::i;:::-;1716:137;;;;:::o;1859:141::-;1915:5;1946:6;1940:13;1931:22;;1962:32;1988:5;1962:32;:::i;:::-;1859:141;;;;:::o;2019:338::-;2074:5;2123:3;2116:4;2108:6;2104:17;2100:27;2090:122;;2131:79;;:::i;:::-;2090:122;2248:6;2235:20;2273:78;2347:3;2339:6;2332:4;2324:6;2320:17;2273:78;:::i;:::-;2264:87;;2080:277;2019:338;;;;:::o;2377:340::-;2433:5;2482:3;2475:4;2467:6;2463:17;2459:27;2449:122;;2490:79;;:::i;:::-;2449:122;2607:6;2594:20;2632:79;2707:3;2699:6;2692:4;2684:6;2680:17;2632:79;:::i;:::-;2623:88;;2439:278;2377:340;;;;:::o;2723:139::-;2769:5;2807:6;2794:20;2785:29;;2823:33;2850:5;2823:33;:::i;:::-;2723:139;;;;:::o;2868:329::-;2927:6;2976:2;2964:9;2955:7;2951:23;2947:32;2944:119;;;2982:79;;:::i;:::-;2944:119;3102:1;3127:53;3172:7;3163:6;3152:9;3148:22;3127:53;:::i;:::-;3117:63;;3073:117;2868:329;;;;:::o;3203:474::-;3271:6;3279;3328:2;3316:9;3307:7;3303:23;3299:32;3296:119;;;3334:79;;:::i;:::-;3296:119;3454:1;3479:53;3524:7;3515:6;3504:9;3500:22;3479:53;:::i;:::-;3469:63;;3425:117;3581:2;3607:53;3652:7;3643:6;3632:9;3628:22;3607:53;:::i;:::-;3597:63;;3552:118;3203:474;;;;;:::o;3683:619::-;3760:6;3768;3776;3825:2;3813:9;3804:7;3800:23;3796:32;3793:119;;;3831:79;;:::i;:::-;3793:119;3951:1;3976:53;4021:7;4012:6;4001:9;3997:22;3976:53;:::i;:::-;3966:63;;3922:117;4078:2;4104:53;4149:7;4140:6;4129:9;4125:22;4104:53;:::i;:::-;4094:63;;4049:118;4206:2;4232:53;4277:7;4268:6;4257:9;4253:22;4232:53;:::i;:::-;4222:63;;4177:118;3683:619;;;;;:::o;4308:943::-;4403:6;4411;4419;4427;4476:3;4464:9;4455:7;4451:23;4447:33;4444:120;;;4483:79;;:::i;:::-;4444:120;4603:1;4628:53;4673:7;4664:6;4653:9;4649:22;4628:53;:::i;:::-;4618:63;;4574:117;4730:2;4756:53;4801:7;4792:6;4781:9;4777:22;4756:53;:::i;:::-;4746:63;;4701:118;4858:2;4884:53;4929:7;4920:6;4909:9;4905:22;4884:53;:::i;:::-;4874:63;;4829:118;5014:2;5003:9;4999:18;4986:32;5045:18;5037:6;5034:30;5031:117;;;5067:79;;:::i;:::-;5031:117;5172:62;5226:7;5217:6;5206:9;5202:22;5172:62;:::i;:::-;5162:72;;4957:287;4308:943;;;;;;;:::o;5257:468::-;5322:6;5330;5379:2;5367:9;5358:7;5354:23;5350:32;5347:119;;;5385:79;;:::i;:::-;5347:119;5505:1;5530:53;5575:7;5566:6;5555:9;5551:22;5530:53;:::i;:::-;5520:63;;5476:117;5632:2;5658:50;5700:7;5691:6;5680:9;5676:22;5658:50;:::i;:::-;5648:60;;5603:115;5257:468;;;;;:::o;5731:474::-;5799:6;5807;5856:2;5844:9;5835:7;5831:23;5827:32;5824:119;;;5862:79;;:::i;:::-;5824:119;5982:1;6007:53;6052:7;6043:6;6032:9;6028:22;6007:53;:::i;:::-;5997:63;;5953:117;6109:2;6135:53;6180:7;6171:6;6160:9;6156:22;6135:53;:::i;:::-;6125:63;;6080:118;5731:474;;;;;:::o;6211:559::-;6297:6;6305;6354:2;6342:9;6333:7;6329:23;6325:32;6322:119;;;6360:79;;:::i;:::-;6322:119;6508:1;6497:9;6493:17;6480:31;6538:18;6530:6;6527:30;6524:117;;;6560:79;;:::i;:::-;6524:117;6673:80;6745:7;6736:6;6725:9;6721:22;6673:80;:::i;:::-;6655:98;;;;6451:312;6211:559;;;;;:::o;6776:327::-;6834:6;6883:2;6871:9;6862:7;6858:23;6854:32;6851:119;;;6889:79;;:::i;:::-;6851:119;7009:1;7034:52;7078:7;7069:6;7058:9;7054:22;7034:52;:::i;:::-;7024:62;;6980:116;6776:327;;;;:::o;7109:349::-;7178:6;7227:2;7215:9;7206:7;7202:23;7198:32;7195:119;;;7233:79;;:::i;:::-;7195:119;7353:1;7378:63;7433:7;7424:6;7413:9;7409:22;7378:63;:::i;:::-;7368:73;;7324:127;7109:349;;;;:::o;7464:509::-;7533:6;7582:2;7570:9;7561:7;7557:23;7553:32;7550:119;;;7588:79;;:::i;:::-;7550:119;7736:1;7725:9;7721:17;7708:31;7766:18;7758:6;7755:30;7752:117;;;7788:79;;:::i;:::-;7752:117;7893:63;7948:7;7939:6;7928:9;7924:22;7893:63;:::i;:::-;7883:73;;7679:287;7464:509;;;;:::o;7979:329::-;8038:6;8087:2;8075:9;8066:7;8062:23;8058:32;8055:119;;;8093:79;;:::i;:::-;8055:119;8213:1;8238:53;8283:7;8274:6;8263:9;8259:22;8238:53;:::i;:::-;8228:63;;8184:117;7979:329;;;;:::o;8314:108::-;8391:24;8409:5;8391:24;:::i;:::-;8386:3;8379:37;8314:108;;:::o;8428:118::-;8515:24;8533:5;8515:24;:::i;:::-;8510:3;8503:37;8428:118;;:::o;8552:109::-;8633:21;8648:5;8633:21;:::i;:::-;8628:3;8621:34;8552:109;;:::o;8667:360::-;8753:3;8781:38;8813:5;8781:38;:::i;:::-;8835:70;8898:6;8893:3;8835:70;:::i;:::-;8828:77;;8914:52;8959:6;8954:3;8947:4;8940:5;8936:16;8914:52;:::i;:::-;8991:29;9013:6;8991:29;:::i;:::-;8986:3;8982:39;8975:46;;8757:270;8667:360;;;;:::o;9033:364::-;9121:3;9149:39;9182:5;9149:39;:::i;:::-;9204:71;9268:6;9263:3;9204:71;:::i;:::-;9197:78;;9284:52;9329:6;9324:3;9317:4;9310:5;9306:16;9284:52;:::i;:::-;9361:29;9383:6;9361:29;:::i;:::-;9356:3;9352:39;9345:46;;9125:272;9033:364;;;;:::o;9403:377::-;9509:3;9537:39;9570:5;9537:39;:::i;:::-;9592:89;9674:6;9669:3;9592:89;:::i;:::-;9585:96;;9690:52;9735:6;9730:3;9723:4;9716:5;9712:16;9690:52;:::i;:::-;9767:6;9762:3;9758:16;9751:23;;9513:267;9403:377;;;;:::o;9786:366::-;9928:3;9949:67;10013:2;10008:3;9949:67;:::i;:::-;9942:74;;10025:93;10114:3;10025:93;:::i;:::-;10143:2;10138:3;10134:12;10127:19;;9786:366;;;:::o;10158:::-;10300:3;10321:67;10385:2;10380:3;10321:67;:::i;:::-;10314:74;;10397:93;10486:3;10397:93;:::i;:::-;10515:2;10510:3;10506:12;10499:19;;10158:366;;;:::o;10530:::-;10672:3;10693:67;10757:2;10752:3;10693:67;:::i;:::-;10686:74;;10769:93;10858:3;10769:93;:::i;:::-;10887:2;10882:3;10878:12;10871:19;;10530:366;;;:::o;10902:::-;11044:3;11065:67;11129:2;11124:3;11065:67;:::i;:::-;11058:74;;11141:93;11230:3;11141:93;:::i;:::-;11259:2;11254:3;11250:12;11243:19;;10902:366;;;:::o;11274:::-;11416:3;11437:67;11501:2;11496:3;11437:67;:::i;:::-;11430:74;;11513:93;11602:3;11513:93;:::i;:::-;11631:2;11626:3;11622:12;11615:19;;11274:366;;;:::o;11646:::-;11788:3;11809:67;11873:2;11868:3;11809:67;:::i;:::-;11802:74;;11885:93;11974:3;11885:93;:::i;:::-;12003:2;11998:3;11994:12;11987:19;;11646:366;;;:::o;12018:::-;12160:3;12181:67;12245:2;12240:3;12181:67;:::i;:::-;12174:74;;12257:93;12346:3;12257:93;:::i;:::-;12375:2;12370:3;12366:12;12359:19;;12018:366;;;:::o;12390:::-;12532:3;12553:67;12617:2;12612:3;12553:67;:::i;:::-;12546:74;;12629:93;12718:3;12629:93;:::i;:::-;12747:2;12742:3;12738:12;12731:19;;12390:366;;;:::o;12762:::-;12904:3;12925:67;12989:2;12984:3;12925:67;:::i;:::-;12918:74;;13001:93;13090:3;13001:93;:::i;:::-;13119:2;13114:3;13110:12;13103:19;;12762:366;;;:::o;13134:::-;13276:3;13297:67;13361:2;13356:3;13297:67;:::i;:::-;13290:74;;13373:93;13462:3;13373:93;:::i;:::-;13491:2;13486:3;13482:12;13475:19;;13134:366;;;:::o;13506:::-;13648:3;13669:67;13733:2;13728:3;13669:67;:::i;:::-;13662:74;;13745:93;13834:3;13745:93;:::i;:::-;13863:2;13858:3;13854:12;13847:19;;13506:366;;;:::o;13878:::-;14020:3;14041:67;14105:2;14100:3;14041:67;:::i;:::-;14034:74;;14117:93;14206:3;14117:93;:::i;:::-;14235:2;14230:3;14226:12;14219:19;;13878:366;;;:::o;14250:::-;14392:3;14413:67;14477:2;14472:3;14413:67;:::i;:::-;14406:74;;14489:93;14578:3;14489:93;:::i;:::-;14607:2;14602:3;14598:12;14591:19;;14250:366;;;:::o;14622:::-;14764:3;14785:67;14849:2;14844:3;14785:67;:::i;:::-;14778:74;;14861:93;14950:3;14861:93;:::i;:::-;14979:2;14974:3;14970:12;14963:19;;14622:366;;;:::o;14994:::-;15136:3;15157:67;15221:2;15216:3;15157:67;:::i;:::-;15150:74;;15233:93;15322:3;15233:93;:::i;:::-;15351:2;15346:3;15342:12;15335:19;;14994:366;;;:::o;15366:::-;15508:3;15529:67;15593:2;15588:3;15529:67;:::i;:::-;15522:74;;15605:93;15694:3;15605:93;:::i;:::-;15723:2;15718:3;15714:12;15707:19;;15366:366;;;:::o;15738:::-;15880:3;15901:67;15965:2;15960:3;15901:67;:::i;:::-;15894:74;;15977:93;16066:3;15977:93;:::i;:::-;16095:2;16090:3;16086:12;16079:19;;15738:366;;;:::o;16110:::-;16252:3;16273:67;16337:2;16332:3;16273:67;:::i;:::-;16266:74;;16349:93;16438:3;16349:93;:::i;:::-;16467:2;16462:3;16458:12;16451:19;;16110:366;;;:::o;16482:398::-;16641:3;16662:83;16743:1;16738:3;16662:83;:::i;:::-;16655:90;;16754:93;16843:3;16754:93;:::i;:::-;16872:1;16867:3;16863:11;16856:18;;16482:398;;;:::o;16886:366::-;17028:3;17049:67;17113:2;17108:3;17049:67;:::i;:::-;17042:74;;17125:93;17214:3;17125:93;:::i;:::-;17243:2;17238:3;17234:12;17227:19;;16886:366;;;:::o;17258:::-;17400:3;17421:67;17485:2;17480:3;17421:67;:::i;:::-;17414:74;;17497:93;17586:3;17497:93;:::i;:::-;17615:2;17610:3;17606:12;17599:19;;17258:366;;;:::o;17630:::-;17772:3;17793:67;17857:2;17852:3;17793:67;:::i;:::-;17786:74;;17869:93;17958:3;17869:93;:::i;:::-;17987:2;17982:3;17978:12;17971:19;;17630:366;;;:::o;18002:::-;18144:3;18165:67;18229:2;18224:3;18165:67;:::i;:::-;18158:74;;18241:93;18330:3;18241:93;:::i;:::-;18359:2;18354:3;18350:12;18343:19;;18002:366;;;:::o;18374:::-;18516:3;18537:67;18601:2;18596:3;18537:67;:::i;:::-;18530:74;;18613:93;18702:3;18613:93;:::i;:::-;18731:2;18726:3;18722:12;18715:19;;18374:366;;;:::o;18746:::-;18888:3;18909:67;18973:2;18968:3;18909:67;:::i;:::-;18902:74;;18985:93;19074:3;18985:93;:::i;:::-;19103:2;19098:3;19094:12;19087:19;;18746:366;;;:::o;19118:::-;19260:3;19281:67;19345:2;19340:3;19281:67;:::i;:::-;19274:74;;19357:93;19446:3;19357:93;:::i;:::-;19475:2;19470:3;19466:12;19459:19;;19118:366;;;:::o;19490:::-;19632:3;19653:67;19717:2;19712:3;19653:67;:::i;:::-;19646:74;;19729:93;19818:3;19729:93;:::i;:::-;19847:2;19842:3;19838:12;19831:19;;19490:366;;;:::o;19862:::-;20004:3;20025:67;20089:2;20084:3;20025:67;:::i;:::-;20018:74;;20101:93;20190:3;20101:93;:::i;:::-;20219:2;20214:3;20210:12;20203:19;;19862:366;;;:::o;20234:::-;20376:3;20397:67;20461:2;20456:3;20397:67;:::i;:::-;20390:74;;20473:93;20562:3;20473:93;:::i;:::-;20591:2;20586:3;20582:12;20575:19;;20234:366;;;:::o;20606:::-;20748:3;20769:67;20833:2;20828:3;20769:67;:::i;:::-;20762:74;;20845:93;20934:3;20845:93;:::i;:::-;20963:2;20958:3;20954:12;20947:19;;20606:366;;;:::o;21048:527::-;21207:4;21202:3;21198:14;21294:4;21287:5;21283:16;21277:23;21313:63;21370:4;21365:3;21361:14;21347:12;21313:63;:::i;:::-;21222:164;21478:4;21471:5;21467:16;21461:23;21497:61;21552:4;21547:3;21543:14;21529:12;21497:61;:::i;:::-;21396:172;21176:399;21048:527;;:::o;21581:118::-;21668:24;21686:5;21668:24;:::i;:::-;21663:3;21656:37;21581:118;;:::o;21705:105::-;21780:23;21797:5;21780:23;:::i;:::-;21775:3;21768:36;21705:105;;:::o;21816:435::-;21996:3;22018:95;22109:3;22100:6;22018:95;:::i;:::-;22011:102;;22130:95;22221:3;22212:6;22130:95;:::i;:::-;22123:102;;22242:3;22235:10;;21816:435;;;;;:::o;22257:379::-;22441:3;22463:147;22606:3;22463:147;:::i;:::-;22456:154;;22627:3;22620:10;;22257:379;;;:::o;22642:222::-;22735:4;22773:2;22762:9;22758:18;22750:26;;22786:71;22854:1;22843:9;22839:17;22830:6;22786:71;:::i;:::-;22642:222;;;;:::o;22870:640::-;23065:4;23103:3;23092:9;23088:19;23080:27;;23117:71;23185:1;23174:9;23170:17;23161:6;23117:71;:::i;:::-;23198:72;23266:2;23255:9;23251:18;23242:6;23198:72;:::i;:::-;23280;23348:2;23337:9;23333:18;23324:6;23280:72;:::i;:::-;23399:9;23393:4;23389:20;23384:2;23373:9;23369:18;23362:48;23427:76;23498:4;23489:6;23427:76;:::i;:::-;23419:84;;22870:640;;;;;;;:::o;23516:210::-;23603:4;23641:2;23630:9;23626:18;23618:26;;23654:65;23716:1;23705:9;23701:17;23692:6;23654:65;:::i;:::-;23516:210;;;;:::o;23732:313::-;23845:4;23883:2;23872:9;23868:18;23860:26;;23932:9;23926:4;23922:20;23918:1;23907:9;23903:17;23896:47;23960:78;24033:4;24024:6;23960:78;:::i;:::-;23952:86;;23732:313;;;;:::o;24051:419::-;24217:4;24255:2;24244:9;24240:18;24232:26;;24304:9;24298:4;24294:20;24290:1;24279:9;24275:17;24268:47;24332:131;24458:4;24332:131;:::i;:::-;24324:139;;24051:419;;;:::o;24476:::-;24642:4;24680:2;24669:9;24665:18;24657:26;;24729:9;24723:4;24719:20;24715:1;24704:9;24700:17;24693:47;24757:131;24883:4;24757:131;:::i;:::-;24749:139;;24476:419;;;:::o;24901:::-;25067:4;25105:2;25094:9;25090:18;25082:26;;25154:9;25148:4;25144:20;25140:1;25129:9;25125:17;25118:47;25182:131;25308:4;25182:131;:::i;:::-;25174:139;;24901:419;;;:::o;25326:::-;25492:4;25530:2;25519:9;25515:18;25507:26;;25579:9;25573:4;25569:20;25565:1;25554:9;25550:17;25543:47;25607:131;25733:4;25607:131;:::i;:::-;25599:139;;25326:419;;;:::o;25751:::-;25917:4;25955:2;25944:9;25940:18;25932:26;;26004:9;25998:4;25994:20;25990:1;25979:9;25975:17;25968:47;26032:131;26158:4;26032:131;:::i;:::-;26024:139;;25751:419;;;:::o;26176:::-;26342:4;26380:2;26369:9;26365:18;26357:26;;26429:9;26423:4;26419:20;26415:1;26404:9;26400:17;26393:47;26457:131;26583:4;26457:131;:::i;:::-;26449:139;;26176:419;;;:::o;26601:::-;26767:4;26805:2;26794:9;26790:18;26782:26;;26854:9;26848:4;26844:20;26840:1;26829:9;26825:17;26818:47;26882:131;27008:4;26882:131;:::i;:::-;26874:139;;26601:419;;;:::o;27026:::-;27192:4;27230:2;27219:9;27215:18;27207:26;;27279:9;27273:4;27269:20;27265:1;27254:9;27250:17;27243:47;27307:131;27433:4;27307:131;:::i;:::-;27299:139;;27026:419;;;:::o;27451:::-;27617:4;27655:2;27644:9;27640:18;27632:26;;27704:9;27698:4;27694:20;27690:1;27679:9;27675:17;27668:47;27732:131;27858:4;27732:131;:::i;:::-;27724:139;;27451:419;;;:::o;27876:::-;28042:4;28080:2;28069:9;28065:18;28057:26;;28129:9;28123:4;28119:20;28115:1;28104:9;28100:17;28093:47;28157:131;28283:4;28157:131;:::i;:::-;28149:139;;27876:419;;;:::o;28301:::-;28467:4;28505:2;28494:9;28490:18;28482:26;;28554:9;28548:4;28544:20;28540:1;28529:9;28525:17;28518:47;28582:131;28708:4;28582:131;:::i;:::-;28574:139;;28301:419;;;:::o;28726:::-;28892:4;28930:2;28919:9;28915:18;28907:26;;28979:9;28973:4;28969:20;28965:1;28954:9;28950:17;28943:47;29007:131;29133:4;29007:131;:::i;:::-;28999:139;;28726:419;;;:::o;29151:::-;29317:4;29355:2;29344:9;29340:18;29332:26;;29404:9;29398:4;29394:20;29390:1;29379:9;29375:17;29368:47;29432:131;29558:4;29432:131;:::i;:::-;29424:139;;29151:419;;;:::o;29576:::-;29742:4;29780:2;29769:9;29765:18;29757:26;;29829:9;29823:4;29819:20;29815:1;29804:9;29800:17;29793:47;29857:131;29983:4;29857:131;:::i;:::-;29849:139;;29576:419;;;:::o;30001:::-;30167:4;30205:2;30194:9;30190:18;30182:26;;30254:9;30248:4;30244:20;30240:1;30229:9;30225:17;30218:47;30282:131;30408:4;30282:131;:::i;:::-;30274:139;;30001:419;;;:::o;30426:::-;30592:4;30630:2;30619:9;30615:18;30607:26;;30679:9;30673:4;30669:20;30665:1;30654:9;30650:17;30643:47;30707:131;30833:4;30707:131;:::i;:::-;30699:139;;30426:419;;;:::o;30851:::-;31017:4;31055:2;31044:9;31040:18;31032:26;;31104:9;31098:4;31094:20;31090:1;31079:9;31075:17;31068:47;31132:131;31258:4;31132:131;:::i;:::-;31124:139;;30851:419;;;:::o;31276:::-;31442:4;31480:2;31469:9;31465:18;31457:26;;31529:9;31523:4;31519:20;31515:1;31504:9;31500:17;31493:47;31557:131;31683:4;31557:131;:::i;:::-;31549:139;;31276:419;;;:::o;31701:::-;31867:4;31905:2;31894:9;31890:18;31882:26;;31954:9;31948:4;31944:20;31940:1;31929:9;31925:17;31918:47;31982:131;32108:4;31982:131;:::i;:::-;31974:139;;31701:419;;;:::o;32126:::-;32292:4;32330:2;32319:9;32315:18;32307:26;;32379:9;32373:4;32369:20;32365:1;32354:9;32350:17;32343:47;32407:131;32533:4;32407:131;:::i;:::-;32399:139;;32126:419;;;:::o;32551:::-;32717:4;32755:2;32744:9;32740:18;32732:26;;32804:9;32798:4;32794:20;32790:1;32779:9;32775:17;32768:47;32832:131;32958:4;32832:131;:::i;:::-;32824:139;;32551:419;;;:::o;32976:::-;33142:4;33180:2;33169:9;33165:18;33157:26;;33229:9;33223:4;33219:20;33215:1;33204:9;33200:17;33193:47;33257:131;33383:4;33257:131;:::i;:::-;33249:139;;32976:419;;;:::o;33401:::-;33567:4;33605:2;33594:9;33590:18;33582:26;;33654:9;33648:4;33644:20;33640:1;33629:9;33625:17;33618:47;33682:131;33808:4;33682:131;:::i;:::-;33674:139;;33401:419;;;:::o;33826:::-;33992:4;34030:2;34019:9;34015:18;34007:26;;34079:9;34073:4;34069:20;34065:1;34054:9;34050:17;34043:47;34107:131;34233:4;34107:131;:::i;:::-;34099:139;;33826:419;;;:::o;34251:::-;34417:4;34455:2;34444:9;34440:18;34432:26;;34504:9;34498:4;34494:20;34490:1;34479:9;34475:17;34468:47;34532:131;34658:4;34532:131;:::i;:::-;34524:139;;34251:419;;;:::o;34676:::-;34842:4;34880:2;34869:9;34865:18;34857:26;;34929:9;34923:4;34919:20;34915:1;34904:9;34900:17;34893:47;34957:131;35083:4;34957:131;:::i;:::-;34949:139;;34676:419;;;:::o;35101:::-;35267:4;35305:2;35294:9;35290:18;35282:26;;35354:9;35348:4;35344:20;35340:1;35329:9;35325:17;35318:47;35382:131;35508:4;35382:131;:::i;:::-;35374:139;;35101:419;;;:::o;35526:::-;35692:4;35730:2;35719:9;35715:18;35707:26;;35779:9;35773:4;35769:20;35765:1;35754:9;35750:17;35743:47;35807:131;35933:4;35807:131;:::i;:::-;35799:139;;35526:419;;;:::o;35951:::-;36117:4;36155:2;36144:9;36140:18;36132:26;;36204:9;36198:4;36194:20;36190:1;36179:9;36175:17;36168:47;36232:131;36358:4;36232:131;:::i;:::-;36224:139;;35951:419;;;:::o;36376:346::-;36531:4;36569:2;36558:9;36554:18;36546:26;;36582:133;36712:1;36701:9;36697:17;36688:6;36582:133;:::i;:::-;36376:346;;;;:::o;36728:222::-;36821:4;36859:2;36848:9;36844:18;36836:26;;36872:71;36940:1;36929:9;36925:17;36916:6;36872:71;:::i;:::-;36728:222;;;;:::o;36956:129::-;36990:6;37017:20;;:::i;:::-;37007:30;;37046:33;37074:4;37066:6;37046:33;:::i;:::-;36956:129;;;:::o;37091:75::-;37124:6;37157:2;37151:9;37141:19;;37091:75;:::o;37172:307::-;37233:4;37323:18;37315:6;37312:30;37309:56;;;37345:18;;:::i;:::-;37309:56;37383:29;37405:6;37383:29;:::i;:::-;37375:37;;37467:4;37461;37457:15;37449:23;;37172:307;;;:::o;37485:308::-;37547:4;37637:18;37629:6;37626:30;37623:56;;;37659:18;;:::i;:::-;37623:56;37697:29;37719:6;37697:29;:::i;:::-;37689:37;;37781:4;37775;37771:15;37763:23;;37485:308;;;:::o;37799:98::-;37850:6;37884:5;37878:12;37868:22;;37799:98;;;:::o;37903:99::-;37955:6;37989:5;37983:12;37973:22;;37903:99;;;:::o;38008:168::-;38091:11;38125:6;38120:3;38113:19;38165:4;38160:3;38156:14;38141:29;;38008:168;;;;:::o;38182:147::-;38283:11;38320:3;38305:18;;38182:147;;;;:::o;38335:169::-;38419:11;38453:6;38448:3;38441:19;38493:4;38488:3;38484:14;38469:29;;38335:169;;;;:::o;38510:148::-;38612:11;38649:3;38634:18;;38510:148;;;;:::o;38664:273::-;38704:3;38723:20;38741:1;38723:20;:::i;:::-;38718:25;;38757:20;38775:1;38757:20;:::i;:::-;38752:25;;38879:1;38843:34;38839:42;38836:1;38833:49;38830:75;;;38885:18;;:::i;:::-;38830:75;38929:1;38926;38922:9;38915:16;;38664:273;;;;:::o;38943:305::-;38983:3;39002:20;39020:1;39002:20;:::i;:::-;38997:25;;39036:20;39054:1;39036:20;:::i;:::-;39031:25;;39190:1;39122:66;39118:74;39115:1;39112:81;39109:107;;;39196:18;;:::i;:::-;39109:107;39240:1;39237;39233:9;39226:16;;38943:305;;;;:::o;39254:185::-;39294:1;39311:20;39329:1;39311:20;:::i;:::-;39306:25;;39345:20;39363:1;39345:20;:::i;:::-;39340:25;;39384:1;39374:35;;39389:18;;:::i;:::-;39374:35;39431:1;39428;39424:9;39419:14;;39254:185;;;;:::o;39445:348::-;39485:7;39508:20;39526:1;39508:20;:::i;:::-;39503:25;;39542:20;39560:1;39542:20;:::i;:::-;39537:25;;39730:1;39662:66;39658:74;39655:1;39652:81;39647:1;39640:9;39633:17;39629:105;39626:131;;;39737:18;;:::i;:::-;39626:131;39785:1;39782;39778:9;39767:20;;39445:348;;;;:::o;39799:191::-;39839:4;39859:20;39877:1;39859:20;:::i;:::-;39854:25;;39893:20;39911:1;39893:20;:::i;:::-;39888:25;;39932:1;39929;39926:8;39923:34;;;39937:18;;:::i;:::-;39923:34;39982:1;39979;39975:9;39967:17;;39799:191;;;;:::o;39996:::-;40036:4;40056:20;40074:1;40056:20;:::i;:::-;40051:25;;40090:20;40108:1;40090:20;:::i;:::-;40085:25;;40129:1;40126;40123:8;40120:34;;;40134:18;;:::i;:::-;40120:34;40179:1;40176;40172:9;40164:17;;39996:191;;;;:::o;40193:96::-;40230:7;40259:24;40277:5;40259:24;:::i;:::-;40248:35;;40193:96;;;:::o;40295:90::-;40329:7;40372:5;40365:13;40358:21;40347:32;;40295:90;;;:::o;40391:149::-;40427:7;40467:66;40460:5;40456:78;40445:89;;40391:149;;;:::o;40546:118::-;40583:7;40623:34;40616:5;40612:46;40601:57;;40546:118;;;:::o;40670:126::-;40707:7;40747:42;40740:5;40736:54;40725:65;;40670:126;;;:::o;40802:77::-;40839:7;40868:5;40857:16;;40802:77;;;:::o;40885:101::-;40921:7;40961:18;40954:5;40950:30;40939:41;;40885:101;;;:::o;40992:154::-;41076:6;41071:3;41066;41053:30;41138:1;41129:6;41124:3;41120:16;41113:27;40992:154;;;:::o;41152:307::-;41220:1;41230:113;41244:6;41241:1;41238:13;41230:113;;;41329:1;41324:3;41320:11;41314:18;41310:1;41305:3;41301:11;41294:39;41266:2;41263:1;41259:10;41254:15;;41230:113;;;41361:6;41358:1;41355:13;41352:101;;;41441:1;41432:6;41427:3;41423:16;41416:27;41352:101;41201:258;41152:307;;;:::o;41465:171::-;41504:3;41527:24;41545:5;41527:24;:::i;:::-;41518:33;;41573:4;41566:5;41563:15;41560:41;;;41581:18;;:::i;:::-;41560:41;41628:1;41621:5;41617:13;41610:20;;41465:171;;;:::o;41642:320::-;41686:6;41723:1;41717:4;41713:12;41703:22;;41770:1;41764:4;41760:12;41791:18;41781:81;;41847:4;41839:6;41835:17;41825:27;;41781:81;41909:2;41901:6;41898:14;41878:18;41875:38;41872:84;;;41928:18;;:::i;:::-;41872:84;41693:269;41642:320;;;:::o;41968:281::-;42051:27;42073:4;42051:27;:::i;:::-;42043:6;42039:40;42181:6;42169:10;42166:22;42145:18;42133:10;42130:34;42127:62;42124:88;;;42192:18;;:::i;:::-;42124:88;42232:10;42228:2;42221:22;42011:238;41968:281;;:::o;42255:233::-;42294:3;42317:24;42335:5;42317:24;:::i;:::-;42308:33;;42363:66;42356:5;42353:77;42350:103;;;42433:18;;:::i;:::-;42350:103;42480:1;42473:5;42469:13;42462:20;;42255:233;;;:::o;42494:176::-;42526:1;42543:20;42561:1;42543:20;:::i;:::-;42538:25;;42577:20;42595:1;42577:20;:::i;:::-;42572:25;;42616:1;42606:35;;42621:18;;:::i;:::-;42606:35;42662:1;42659;42655:9;42650:14;;42494:176;;;;:::o;42676:180::-;42724:77;42721:1;42714:88;42821:4;42818:1;42811:15;42845:4;42842:1;42835:15;42862:180;42910:77;42907:1;42900:88;43007:4;43004:1;42997:15;43031:4;43028:1;43021:15;43048:180;43096:77;43093:1;43086:88;43193:4;43190:1;43183:15;43217:4;43214:1;43207:15;43234:180;43282:77;43279:1;43272:88;43379:4;43376:1;43369:15;43403:4;43400:1;43393:15;43420:180;43468:77;43465:1;43458:88;43565:4;43562:1;43555:15;43589:4;43586:1;43579:15;43606:117;43715:1;43712;43705:12;43729:117;43838:1;43835;43828:12;43852:117;43961:1;43958;43951:12;43975:117;44084:1;44081;44074:12;44098:117;44207:1;44204;44197:12;44221:117;44330:1;44327;44320:12;44344:102;44385:6;44436:2;44432:7;44427:2;44420:5;44416:14;44412:28;44402:38;;44344:102;;;:::o;44452:221::-;44592:34;44588:1;44580:6;44576:14;44569:58;44661:4;44656:2;44648:6;44644:15;44637:29;44452:221;:::o;44679:225::-;44819:34;44815:1;44807:6;44803:14;44796:58;44888:8;44883:2;44875:6;44871:15;44864:33;44679:225;:::o;44910:229::-;45050:34;45046:1;45038:6;45034:14;45027:58;45119:12;45114:2;45106:6;45102:15;45095:37;44910:229;:::o;45145:222::-;45285:34;45281:1;45273:6;45269:14;45262:58;45354:5;45349:2;45341:6;45337:15;45330:30;45145:222;:::o;45373:224::-;45513:34;45509:1;45501:6;45497:14;45490:58;45582:7;45577:2;45569:6;45565:15;45558:32;45373:224;:::o;45603:236::-;45743:34;45739:1;45731:6;45727:14;45720:58;45812:19;45807:2;45799:6;45795:15;45788:44;45603:236;:::o;45845:168::-;45985:20;45981:1;45973:6;45969:14;45962:44;45845:168;:::o;46019:180::-;46159:32;46155:1;46147:6;46143:14;46136:56;46019:180;:::o;46205:244::-;46345:34;46341:1;46333:6;46329:14;46322:58;46414:27;46409:2;46401:6;46397:15;46390:52;46205:244;:::o;46455:180::-;46595:32;46591:1;46583:6;46579:14;46572:56;46455:180;:::o;46641:230::-;46781:34;46777:1;46769:6;46765:14;46758:58;46850:13;46845:2;46837:6;46833:15;46826:38;46641:230;:::o;46877:168::-;47017:20;47013:1;47005:6;47001:14;46994:44;46877:168;:::o;47051:225::-;47191:34;47187:1;47179:6;47175:14;47168:58;47260:8;47255:2;47247:6;47243:15;47236:33;47051:225;:::o;47282:182::-;47422:34;47418:1;47410:6;47406:14;47399:58;47282:182;:::o;47470:234::-;47610:34;47606:1;47598:6;47594:14;47587:58;47679:17;47674:2;47666:6;47662:15;47655:42;47470:234;:::o;47710:176::-;47850:28;47846:1;47838:6;47834:14;47827:52;47710:176;:::o;47892:237::-;48032:34;48028:1;48020:6;48016:14;48009:58;48101:20;48096:2;48088:6;48084:15;48077:45;47892:237;:::o;48135:221::-;48275:34;48271:1;48263:6;48259:14;48252:58;48344:4;48339:2;48331:6;48327:15;48320:29;48135:221;:::o;48362:114::-;;:::o;48482:166::-;48622:18;48618:1;48610:6;48606:14;48599:42;48482:166;:::o;48654:238::-;48794:34;48790:1;48782:6;48778:14;48771:58;48863:21;48858:2;48850:6;48846:15;48839:46;48654:238;:::o;48898:172::-;49038:24;49034:1;49026:6;49022:14;49015:48;48898:172;:::o;49076:179::-;49216:31;49212:1;49204:6;49200:14;49193:55;49076:179;:::o;49261:220::-;49401:34;49397:1;49389:6;49385:14;49378:58;49470:3;49465:2;49457:6;49453:15;49446:28;49261:220;:::o;49487:172::-;49627:24;49623:1;49615:6;49611:14;49604:48;49487:172;:::o;49665:233::-;49805:34;49801:1;49793:6;49789:14;49782:58;49874:16;49869:2;49861:6;49857:15;49850:41;49665:233;:::o;49904:181::-;50044:33;50040:1;50032:6;50028:14;50021:57;49904:181;:::o;50091:234::-;50231:34;50227:1;50219:6;50215:14;50208:58;50300:17;50295:2;50287:6;50283:15;50276:42;50091:234;:::o;50331:232::-;50471:34;50467:1;50459:6;50455:14;50448:58;50540:15;50535:2;50527:6;50523:15;50516:40;50331:232;:::o;50569:221::-;50709:34;50705:1;50697:6;50693:14;50686:58;50778:4;50773:2;50765:6;50761:15;50754:29;50569:221;:::o;50796:122::-;50869:24;50887:5;50869:24;:::i;:::-;50862:5;50859:35;50849:63;;50908:1;50905;50898:12;50849:63;50796:122;:::o;50924:116::-;50994:21;51009:5;50994:21;:::i;:::-;50987:5;50984:32;50974:60;;51030:1;51027;51020:12;50974:60;50924:116;:::o;51046:120::-;51118:23;51135:5;51118:23;:::i;:::-;51111:5;51108:34;51098:62;;51156:1;51153;51146:12;51098:62;51046:120;:::o;51172:122::-;51245:24;51263:5;51245:24;:::i;:::-;51238:5;51235:35;51225:63;;51284:1;51281;51274:12;51225:63;51172:122;:::o

Swarm Source

ipfs://4eec0423f7a0dcc161290d96d2e55f64f972be7f9152b2b4ccea3034b20b2b9a
Block Transaction Difficulty Gas Used Reward
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.

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.