ETH Price: $3,593.68 (+3.66%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy Token211039612024-11-03 1:54:3562 days ago1730598875IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000308973.48319651
Buy Token211027542024-11-02 21:51:4762 days ago1730584307IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000377594.03826739
Buy Token210897742024-11-01 2:21:3564 days ago1730427695IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.0010890611.6472816
Buy Token210897612024-11-01 2:18:4764 days ago1730427527IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.0010124710.82818912
Buy Token210897452024-11-01 2:15:3564 days ago1730427335IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.0009453210.10998136
Buy Token210897272024-11-01 2:11:5964 days ago1730427119IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000837688.95883641
Buy Token210896832024-11-01 2:03:1164 days ago1730426591IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000682847.30279099
Buy Token210896792024-11-01 2:02:2364 days ago1730426543IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000670637.17230539
Buy Token210896662024-11-01 1:59:4764 days ago1730426387IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000575136.15093092
Buy Token210896622024-11-01 1:58:5964 days ago1730426339IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000646396.91296638
Buy Token210896602024-11-01 1:58:3564 days ago1730426315IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000647476.92456232
Buy Token210896582024-11-01 1:58:1164 days ago1730426291IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000590526.31548338
Buy Token210896012024-11-01 1:46:4764 days ago1730425607IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000476185.36827242
Buy Token210895812024-11-01 1:42:4764 days ago1730425367IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000500575.64323738
Buy Token210895662024-11-01 1:39:4764 days ago1730425187IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000504575.68826293
Buy Token210895642024-11-01 1:39:2364 days ago1730425163IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000504455.68695933
Buy Token210895552024-11-01 1:37:3564 days ago1730425055IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000537526.05976213
Buy Token210895522024-11-01 1:36:5964 days ago1730425019IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.0005285.95243129
Buy Token210895432024-11-01 1:35:1164 days ago1730424911IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000517575.83491141
Buy Token210895342024-11-01 1:33:2364 days ago1730424803IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000552656.23030248
Buy Token210893892024-11-01 1:04:1164 days ago1730423051IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.001021656.45529084
Buy Token210893522024-11-01 0:56:4764 days ago1730422607IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.001475585.93637525
Set Sale Token210893332024-11-01 0:52:5964 days ago1730422379IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000229846.37831958
Set Sale Token210893292024-11-01 0:52:1164 days ago1730422331IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.00023846.61815553
Add Payable Toke...210893212024-11-01 0:50:3564 days ago1730422235IN
0xc46c8Cd2...d3Cd5116e
0 ETH0.000429046.08692436
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Presale

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-31
*/

/**
 *Submitted for verification at Etherscan.io on 2024-10-14
*/

// SPDX-License-Identifier: MIT
// Original license: SPDX_License_Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)

pragma solidity ^0.8.20;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}
pragma solidity ^0.8.20;
abstract contract Ownable is Context {
    address private _owner;
    error OwnableUnauthorizedAccount(address account);
    error OwnableInvalidOwner(address owner);
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
pragma solidity ^0.8.20;
interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);
}
pragma solidity ^0.8.20;
library Address {
    error AddressInsufficientBalance(address account);
    error AddressEmptyCode(address target);
    error FailedInnerCall();
    function sendValue(address payable recipient, uint256 amount) internal {
        if (address(this).balance < amount) {
            revert AddressInsufficientBalance(address(this));
        }
        (bool success, ) = recipient.call{value: amount}("");
        if (!success) {
            revert FailedInnerCall();
        }
    }
    function functionCall(
        address target,
        bytes memory data
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0);
    }
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        if (address(this).balance < value) {
            revert AddressInsufficientBalance(address(this));
        }
        (bool success, bytes memory returndata) = target.call{value: value}(
            data
        );
        return verifyCallResultFromTarget(target, success, returndata);
    }
    function functionStaticCall(
        address target,
        bytes memory data
    ) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResultFromTarget(target, success, returndata);
    }
    function functionDelegateCall(
        address target,
        bytes memory data
    ) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResultFromTarget(target, success, returndata);
    }
    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata
    ) internal view returns (bytes memory) {
        if (!success) {
            _revert(returndata);
        } else {
            // only check if target is a contract if the call was successful and the return data is empty
            // otherwise we already know that it was a contract
            if (returndata.length == 0 && target.code.length == 0) {
                revert AddressEmptyCode(target);
            }
            return returndata;
        }
    }
    function verifyCallResult(
        bool success,
        bytes memory returndata
    ) internal pure returns (bytes memory) {
        if (!success) {
            _revert(returndata);
        } else {
            return returndata;
        }
    }
    function _revert(bytes memory returndata) private pure {
        if (returndata.length > 0) {
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert FailedInnerCall();
        }
    }
}
pragma solidity ^0.8.20;
library SafeERC20 {
    using Address for address;
    error SafeERC20FailedOperation(address token);
    error SafeERC20FailedDecreaseAllowance(
        address spender,
        uint256 currentAllowance,
        uint256 requestedDecrease
    );
    function safeTransfer(IERC20 token, address to, uint256 value) internal {
        _callOptionalReturn(token, abi.encodeCall(token.transfer, (to, value)));
    }
    function safeTransferFrom(
        IERC20 token,
        address from,
        address to,
        uint256 value
    ) internal {
        _callOptionalReturn(
            token,
            abi.encodeCall(token.transferFrom, (from, to, value))
        );
    }
    function safeIncreaseAllowance(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        uint256 oldAllowance = token.allowance(address(this), spender);
        forceApprove(token, spender, oldAllowance + value);
    }
    function safeDecreaseAllowance(
        IERC20 token,
        address spender,
        uint256 requestedDecrease
    ) internal {
        unchecked {
            uint256 currentAllowance = token.allowance(address(this), spender);
            if (currentAllowance < requestedDecrease) {
                revert SafeERC20FailedDecreaseAllowance(
                    spender,
                    currentAllowance,
                    requestedDecrease
                );
            }
            forceApprove(token, spender, currentAllowance - requestedDecrease);
        }
    }
    function forceApprove(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        bytes memory approvalCall = abi.encodeCall(
            token.approve,
            (spender, value)
        );

        if (!_callOptionalReturnBool(token, approvalCall)) {
            _callOptionalReturn(
                token,
                abi.encodeCall(token.approve, (spender, 0))
            );
            _callOptionalReturn(token, approvalCall);
        }
    }
    function _callOptionalReturn(IERC20 token, bytes memory data) private {
        bytes memory returndata = address(token).functionCall(data);
        if (returndata.length != 0 && !abi.decode(returndata, (bool))) {
            revert SafeERC20FailedOperation(address(token));
        }
    }
    function _callOptionalReturnBool(
        IERC20 token,
        bytes memory data
    ) private returns (bool) {
        (bool success, bytes memory returndata) = address(token).call(data);
        return
            success &&
            (returndata.length == 0 || abi.decode(returndata, (bool))) &&
            address(token).code.length > 0;
    }
}
pragma solidity ^0.8.20;
contract Presale is Ownable {
    using SafeERC20 for IERC20;
    uint256 public rate;
    uint public saleTokenDec;
    uint256 public totalTokensforSale;
    mapping(address => bool) public payableTokens;
    mapping(address => uint256) public tokenPrices;
    bool public saleStatus;
    address[] public buyers;
    mapping(address => bool) public buyersExists;
    mapping(address => uint256) public buyersAmount;
    uint256 public totalBuyers;
    uint256 public totalTokensSold;
    address public teamWallet;
    struct BuyerDetails {
        address buyer;
        uint amount;
    }
    event BuyToken(
        address indexed buyer,
        address indexed token,
        uint256 paidAmount,
        uint256 purchasedAmount
    );
    constructor(address _teamWallet) Ownable(msg.sender) {
        saleStatus = false;
        teamWallet = _teamWallet;
    }
    modifier saleEnabled() {
        require(saleStatus == true, "Presale: is not enabled");
        _;
    }
    modifier saleStoped() {
        require(saleStatus == false, "Presale: is not stopped");
        _;
    }
    function setSaleToken(
        uint256 _decimals,
        uint256 _totalTokensforSale,
        uint256 _rate,
        bool _saleStatus
    ) external onlyOwner {
        require(_rate != 0);
        rate = _rate;
        saleStatus = _saleStatus;
        saleTokenDec = _decimals;
        totalTokensforSale = _totalTokensforSale;
    }
    function stopSale() external onlyOwner saleEnabled {
        saleStatus = false;
    }
    function resumeSale() external onlyOwner saleStoped {
        saleStatus = true;
    }
    function addPayableTokens(
        address[] memory _tokens,
        uint256[] memory _prices
    ) external onlyOwner {
        require(
            _tokens.length == _prices.length,
            "Presale: tokens & prices arrays length mismatch"
        );

        for (uint256 i = 0; i < _tokens.length; i++) {
            require(_prices[i] != 0);
            payableTokens[_tokens[i]] = true;
            tokenPrices[_tokens[i]] = _prices[i];
        }
    }
    function payableTokenStatus(
        address _token,
        bool _status
    ) external onlyOwner {
        require(payableTokens[_token] != _status);

        payableTokens[_token] = _status;
    }
    function updateTokenRate(
        address[] memory _tokens,
        uint256[] memory _prices,
        uint256 _rate
    ) external onlyOwner {
        require(
            _tokens.length == _prices.length,
            "Presale: tokens & prices arrays length mismatch"
        );
        if (_rate != 0) {
            rate = _rate;
        }
        for (uint256 i = 0; i < _tokens.length; i += 1) {
            require(payableTokens[_tokens[i]] == true);
            require(_prices[i] != 0);
            tokenPrices[_tokens[i]] = _prices[i];
        }
    }
    function getTokenAmount(
        address token,
        uint256 amount
    ) public view returns (uint256) {
        uint256 amtOut;
        if (token != address(0)) {
            require(payableTokens[token] == true, "Presale: Token not allowed");
            uint256 price = tokenPrices[token];
            amtOut = (amount * (10 ** saleTokenDec)) / (price);
        } else {
            amtOut = (amount * (10 ** saleTokenDec)) / (rate);
        }
        return amtOut;
    }
    function transferETH() internal {
        uint256 teamAmt = (msg.value * 30) / 100;
        payable(teamWallet).transfer(teamAmt);
        payable(owner()).transfer(msg.value - teamAmt);
    }
    function transferToken(address _token, uint256 _amount) internal {
        uint256 teamAmt = (_amount * (30)) / (100);
        IERC20(_token).safeTransferFrom(msg.sender, teamWallet, teamAmt);
        IERC20(_token).safeTransferFrom(msg.sender, owner(), _amount - teamAmt);
    }
    function buyToken(
        address _token,
        uint256 _amount
    ) external payable saleEnabled {
        uint256 amount = _token != address(0) ? _amount : msg.value;
        uint256 saleTokenAmt = getTokenAmount(_token, amount);

        require(saleTokenAmt != 0, "Presale: Amount is 0");
        require(
            (totalTokensSold + saleTokenAmt) < totalTokensforSale,
            "Presale: Not enough tokens to be sold"
        );

        if (_token != address(0)) {
            transferToken(_token, _amount);
        } else {
            transferETH();
        }
        totalTokensSold += saleTokenAmt;

        if (!buyersExists[msg.sender]) {
            buyers.push(msg.sender);
            buyersExists[msg.sender] = true;
            totalBuyers += 1;
        }
        buyersAmount[msg.sender] += saleTokenAmt;
        emit BuyToken(msg.sender, _token, amount, saleTokenAmt);
    }
    function buyersDetailsList(
        uint _from,
        uint _to
    ) external view returns (BuyerDetails[] memory) {
        require(_from < _to, "Presale: _from should be less than _to");
        uint to = _to > totalBuyers ? totalBuyers : _to;
        uint from = _from > totalBuyers ? totalBuyers : _from;
        BuyerDetails[] memory buyersAmt = new BuyerDetails[](to - from);
        for (uint i = from; i < to; i += 1) {
            buyersAmt[i] = BuyerDetails(buyers[i], buyersAmount[buyers[i]]);
        }
        return buyersAmt;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_teamWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"paidAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"purchasedAmount","type":"uint256"}],"name":"BuyToken","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"},{"inputs":[{"internalType":"address[]","name":"_tokens","type":"address[]"},{"internalType":"uint256[]","name":"_prices","type":"uint256[]"}],"name":"addPayableTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"buyToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"buyers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"buyersAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_from","type":"uint256"},{"internalType":"uint256","name":"_to","type":"uint256"}],"name":"buyersDetailsList","outputs":[{"components":[{"internalType":"address","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Presale.BuyerDetails[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"buyersExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getTokenAmount","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":"address","name":"_token","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"payableTokenStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"payableTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resumeSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saleTokenDec","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_decimals","type":"uint256"},{"internalType":"uint256","name":"_totalTokensforSale","type":"uint256"},{"internalType":"uint256","name":"_rate","type":"uint256"},{"internalType":"bool","name":"_saleStatus","type":"bool"}],"name":"setSaleToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenPrices","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokensSold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokensforSale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_tokens","type":"address[]"},{"internalType":"uint256[]","name":"_prices","type":"uint256[]"},{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"updateTokenRate","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561000f575f80fd5b5060405161164038038061164083398101604081905261002e916100db565b338061005357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005c8161008c565b506006805460ff19169055600c80546001600160a01b0319166001600160a01b0392909216919091179055610108565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100eb575f80fd5b81516001600160a01b0381168114610101575f80fd5b9392505050565b61152b806101155f395ff3fe608060405260043610610131575f3560e01c806368f8fc10116100a85780638da5cb5b1161006d5780638da5cb5b14610357578063ace1741c14610373578063ba41b21014610388578063e36b0b37146103b6578063f2aa8218146103ca578063f9020e33146103e9575f80fd5b806368f8fc10146102a65780636bcedf9c146102b957806376ca67a5146102ce57806380655eef146102fa578063807ea42514610338575f80fd5b806333e364cb116100f957806333e364cb146101e75780633abd0136146101fb5780635413c1c81461021057806354a9f1021461022f578063599270441461025a57806363b2011714610291575f80fd5b8063115ece4c14610135578063204120bc1461016757806329d429a8146101925780632c4e722e146101b35780633115329e146101c8575b5f80fd5b348015610140575f80fd5b5061015461014f366004610fb7565b610402565b6040519081526020015b60405180910390f35b348015610172575f80fd5b50610154610181366004610fdf565b60056020525f908152604090205481565b34801561019d575f80fd5b506101b16101ac366004611005565b6104f9565b005b3480156101be575f80fd5b5061015460015481565b3480156101d3575f80fd5b506101b16101e2366004611164565b610556565b3480156101f2575f80fd5b506101b161066c565b348015610206575f80fd5b50610154600a5481565b34801561021b575f80fd5b506101b161022a3660046111d2565b6106d6565b34801561023a575f80fd5b50610154610249366004610fdf565b60096020525f908152604090205481565b348015610265575f80fd5b50600c54610279906001600160a01b031681565b6040516001600160a01b03909116815260200161015e565b34801561029c575f80fd5b50610154600b5481565b6101b16102b4366004610fb7565b6107e1565b3480156102c4575f80fd5b5061015460035481565b3480156102d9575f80fd5b506102ed6102e8366004611237565b610a3b565b60405161015e9190611257565b348015610305575f80fd5b50610328610314366004610fdf565b60046020525f908152604090205460ff1681565b604051901515815260200161015e565b348015610343575f80fd5b506101b16103523660046112ae565b610bf9565b348015610362575f80fd5b505f546001600160a01b0316610279565b34801561037e575f80fd5b5061015460025481565b348015610393575f80fd5b506103286103a2366004610fdf565b60086020525f908152604090205460ff1681565b3480156103c1575f80fd5b506101b1610c2e565b3480156103d5575f80fd5b506102796103e43660046112ec565b610c93565b3480156103f4575f80fd5b506006546103289060ff1681565b5f806001600160a01b038416156104c8576001600160a01b0384165f9081526004602052604090205460ff1615156001146104845760405162461bcd60e51b815260206004820152601a60248201527f50726573616c653a20546f6b656e206e6f7420616c6c6f77656400000000000060448201526064015b60405180910390fd5b6001600160a01b0384165f9081526005602052604090205460025481906104ac90600a6113fa565b6104b69086611405565b6104c0919061141c565b9150506104f0565b6001546002546104d990600a6113fa565b6104e39085611405565b6104ed919061141c565b90505b90505b92915050565b610501610cbb565b6001600160a01b0382165f9081526004602052604090205481151560ff90911615150361052c575f80fd5b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b61055e610cbb565b815183511461057f5760405162461bcd60e51b815260040161047b9061143b565b801561058b5760018190555b5f5b83518110156106665760045f8583815181106105ab576105ab61148a565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff1615156001146105de575f80fd5b8281815181106105f0576105f061148a565b60200260200101515f03610602575f80fd5b8281815181106106145761061461148a565b602002602001015160055f8684815181106106315761063161148a565b6020908102919091018101516001600160a01b031682528101919091526040015f205561065f60018261149e565b905061058d565b50505050565b610674610cbb565b60065460ff16156106c75760405162461bcd60e51b815260206004820152601760248201527f50726573616c653a206973206e6f742073746f70706564000000000000000000604482015260640161047b565b6006805460ff19166001179055565b6106de610cbb565b80518251146106ff5760405162461bcd60e51b815260040161047b9061143b565b5f5b82518110156107dc5781818151811061071c5761071c61148a565b60200260200101515f0361072e575f80fd5b600160045f8584815181106107455761074561148a565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff0219169083151502179055508181815181106107945761079461148a565b602002602001015160055f8584815181106107b1576107b161148a565b6020908102919091018101516001600160a01b031682528101919091526040015f2055600101610701565b505050565b60065460ff1615156001146108325760405162461bcd60e51b8152602060048201526017602482015276141c995cd85b194e881a5cc81b9bdd08195b98589b1959604a1b604482015260640161047b565b5f6001600160a01b0383166108475734610849565b815b90505f6108568483610402565b9050805f0361089e5760405162461bcd60e51b8152602060048201526014602482015273050726573616c653a20416d6f756e7420697320360641b604482015260640161047b565b60035481600b546108af919061149e565b1061090a5760405162461bcd60e51b815260206004820152602560248201527f50726573616c653a204e6f7420656e6f75676820746f6b656e7320746f206265604482015264081cdbdb1960da1b606482015260840161047b565b6001600160a01b03841615610928576109238484610ce9565b610930565b610930610d51565b80600b5f828254610941919061149e565b9091555050335f9081526008602052604090205460ff166109cc576007805460018181019092557fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b031916339081179091555f908152600860205260408120805460ff191683179055600a80549091906109c690849061149e565b90915550505b335f90815260096020526040812080548392906109ea90849061149e565b909155505060408051838152602081018390526001600160a01b0386169133917facf531ec465d633652ed6f0179042e0f5105d16b2eb45652517eb8f96e3d1997910160405180910390a350505050565b6060818310610a9b5760405162461bcd60e51b815260206004820152602660248201527f50726573616c653a205f66726f6d2073686f756c64206265206c657373207468604482015265616e205f746f60d01b606482015260840161047b565b5f600a548311610aab5782610aaf565b600a545b90505f600a548511610ac15784610ac5565b600a545b90505f610ad282846114b1565b67ffffffffffffffff811115610aea57610aea61103a565b604051908082528060200260200182016040528015610b2e57816020015b604080518082019091525f8082526020820152815260200190600190039081610b085790505b509050815b83811015610bef57604051806040016040528060078381548110610b5957610b5961148a565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316815260200160095f60078581548110610b9857610b9861148a565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205490528251839083908110610bd257610bd261148a565b6020908102919091010152610be860018261149e565b9050610b33565b5095945050505050565b610c01610cbb565b815f03610c0c575f80fd5b6001919091556006805460ff1916911515919091179055600291909155600355565b610c36610cbb565b60065460ff161515600114610c875760405162461bcd60e51b8152602060048201526017602482015276141c995cd85b194e881a5cc81b9bdd08195b98589b1959604a1b604482015260640161047b565b6006805460ff19169055565b60078181548110610ca2575f80fd5b5f918252602090912001546001600160a01b0316905081565b5f546001600160a01b03163314610ce75760405163118cdaa760e01b815233600482015260240161047b565b565b5f6064610cf783601e611405565b610d01919061141c565b600c54909150610d20906001600160a01b038581169133911684610de3565b6107dc33610d355f546001600160a01b031690565b610d3f84866114b1565b6001600160a01b038716929190610de3565b5f6064610d5f34601e611405565b610d69919061141c565b600c546040519192506001600160a01b03169082156108fc029083905f818181858888f19350505050158015610da1573d5f803e3d5ffd5b505f546001600160a01b03166108fc610dba83346114b1565b6040518115909202915f818181858888f19350505050158015610ddf573d5f803e3d5ffd5b5050565b604080516001600160a01b038581166024830152848116604483015260648083018590528351808403909101815260849092019092526020810180516001600160e01b03166323b872dd60e01b179052610666918691905f90610e4890841683610e95565b905080515f14158015610e6c575080806020019051810190610e6a91906114c4565b155b156107dc57604051635274afe760e01b81526001600160a01b038416600482015260240161047b565b60606104f083835f845f80856001600160a01b03168486604051610eb991906114df565b5f6040518083038185875af1925050503d805f8114610ef3576040519150601f19603f3d011682016040523d82523d5f602084013e610ef8565b606091505b5091509150610f08868383610f14565b925050505b9392505050565b606082610f2957610f2482610f70565b610f0d565b8151158015610f4057506001600160a01b0384163b155b15610f6957604051639996b31560e01b81526001600160a01b038516600482015260240161047b565b5080610f0d565b805115610f805780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b80356001600160a01b0381168114610fb2575f80fd5b919050565b5f8060408385031215610fc8575f80fd5b610fd183610f9c565b946020939093013593505050565b5f60208284031215610fef575f80fd5b6104f082610f9c565b8015158114610f99575f80fd5b5f8060408385031215611016575f80fd5b61101f83610f9c565b9150602083013561102f81610ff8565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156110775761107761103a565b604052919050565b5f67ffffffffffffffff8211156110985761109861103a565b5060051b60200190565b5f82601f8301126110b1575f80fd5b81356110c46110bf8261107f565b61104e565b8082825260208201915060208360051b8601019250858311156110e5575f80fd5b602085015b83811015610bef576110fb81610f9c565b8352602092830192016110ea565b5f82601f830112611118575f80fd5b81356111266110bf8261107f565b8082825260208201915060208360051b860101925085831115611147575f80fd5b602085015b83811015610bef57803583526020928301920161114c565b5f805f60608486031215611176575f80fd5b833567ffffffffffffffff81111561118c575f80fd5b611198868287016110a2565b935050602084013567ffffffffffffffff8111156111b4575f80fd5b6111c086828701611109565b93969395505050506040919091013590565b5f80604083850312156111e3575f80fd5b823567ffffffffffffffff8111156111f9575f80fd5b611205858286016110a2565b925050602083013567ffffffffffffffff811115611221575f80fd5b61122d85828601611109565b9150509250929050565b5f8060408385031215611248575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b818110156112a357835180516001600160a01b031684526020908101518185015290930192604090920191600101611270565b509095945050505050565b5f805f80608085870312156112c1575f80fd5b84359350602085013592506040850135915060608501356112e181610ff8565b939692955090935050565b5f602082840312156112fc575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156113525780850481111561133657611336611303565b600184161561134457908102905b60019390931c92800261131b565b935093915050565b5f82611368575060016104f3565b8161137457505f6104f3565b816001811461138a5760028114611394576113b0565b60019150506104f3565b60ff8411156113a5576113a5611303565b50506001821b6104f3565b5060208310610133831016604e8410600b84101617156113d3575081810a6104f3565b6113df5f198484611317565b805f19048211156113f2576113f2611303565b029392505050565b5f6104f0838361135a565b80820281158282048414176104f3576104f3611303565b5f8261143657634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602f908201527f50726573616c653a20746f6b656e73202620707269636573206172726179732060408201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b808201808211156104f3576104f3611303565b818103818111156104f3576104f3611303565b5f602082840312156114d4575f80fd5b81516104f081610ff8565b5f82518060208501845e5f92019182525091905056fea2646970667358221220c6bd803c92544dc60ada5a921e8d4dede0cfeb9010477f67a1a6baddfbc473da64736f6c634300081a0033000000000000000000000000d55cee41de50dd7ba44733f1d4ec316a53440bf4

Deployed Bytecode

0x608060405260043610610131575f3560e01c806368f8fc10116100a85780638da5cb5b1161006d5780638da5cb5b14610357578063ace1741c14610373578063ba41b21014610388578063e36b0b37146103b6578063f2aa8218146103ca578063f9020e33146103e9575f80fd5b806368f8fc10146102a65780636bcedf9c146102b957806376ca67a5146102ce57806380655eef146102fa578063807ea42514610338575f80fd5b806333e364cb116100f957806333e364cb146101e75780633abd0136146101fb5780635413c1c81461021057806354a9f1021461022f578063599270441461025a57806363b2011714610291575f80fd5b8063115ece4c14610135578063204120bc1461016757806329d429a8146101925780632c4e722e146101b35780633115329e146101c8575b5f80fd5b348015610140575f80fd5b5061015461014f366004610fb7565b610402565b6040519081526020015b60405180910390f35b348015610172575f80fd5b50610154610181366004610fdf565b60056020525f908152604090205481565b34801561019d575f80fd5b506101b16101ac366004611005565b6104f9565b005b3480156101be575f80fd5b5061015460015481565b3480156101d3575f80fd5b506101b16101e2366004611164565b610556565b3480156101f2575f80fd5b506101b161066c565b348015610206575f80fd5b50610154600a5481565b34801561021b575f80fd5b506101b161022a3660046111d2565b6106d6565b34801561023a575f80fd5b50610154610249366004610fdf565b60096020525f908152604090205481565b348015610265575f80fd5b50600c54610279906001600160a01b031681565b6040516001600160a01b03909116815260200161015e565b34801561029c575f80fd5b50610154600b5481565b6101b16102b4366004610fb7565b6107e1565b3480156102c4575f80fd5b5061015460035481565b3480156102d9575f80fd5b506102ed6102e8366004611237565b610a3b565b60405161015e9190611257565b348015610305575f80fd5b50610328610314366004610fdf565b60046020525f908152604090205460ff1681565b604051901515815260200161015e565b348015610343575f80fd5b506101b16103523660046112ae565b610bf9565b348015610362575f80fd5b505f546001600160a01b0316610279565b34801561037e575f80fd5b5061015460025481565b348015610393575f80fd5b506103286103a2366004610fdf565b60086020525f908152604090205460ff1681565b3480156103c1575f80fd5b506101b1610c2e565b3480156103d5575f80fd5b506102796103e43660046112ec565b610c93565b3480156103f4575f80fd5b506006546103289060ff1681565b5f806001600160a01b038416156104c8576001600160a01b0384165f9081526004602052604090205460ff1615156001146104845760405162461bcd60e51b815260206004820152601a60248201527f50726573616c653a20546f6b656e206e6f7420616c6c6f77656400000000000060448201526064015b60405180910390fd5b6001600160a01b0384165f9081526005602052604090205460025481906104ac90600a6113fa565b6104b69086611405565b6104c0919061141c565b9150506104f0565b6001546002546104d990600a6113fa565b6104e39085611405565b6104ed919061141c565b90505b90505b92915050565b610501610cbb565b6001600160a01b0382165f9081526004602052604090205481151560ff90911615150361052c575f80fd5b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b61055e610cbb565b815183511461057f5760405162461bcd60e51b815260040161047b9061143b565b801561058b5760018190555b5f5b83518110156106665760045f8583815181106105ab576105ab61148a565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff1615156001146105de575f80fd5b8281815181106105f0576105f061148a565b60200260200101515f03610602575f80fd5b8281815181106106145761061461148a565b602002602001015160055f8684815181106106315761063161148a565b6020908102919091018101516001600160a01b031682528101919091526040015f205561065f60018261149e565b905061058d565b50505050565b610674610cbb565b60065460ff16156106c75760405162461bcd60e51b815260206004820152601760248201527f50726573616c653a206973206e6f742073746f70706564000000000000000000604482015260640161047b565b6006805460ff19166001179055565b6106de610cbb565b80518251146106ff5760405162461bcd60e51b815260040161047b9061143b565b5f5b82518110156107dc5781818151811061071c5761071c61148a565b60200260200101515f0361072e575f80fd5b600160045f8584815181106107455761074561148a565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff0219169083151502179055508181815181106107945761079461148a565b602002602001015160055f8584815181106107b1576107b161148a565b6020908102919091018101516001600160a01b031682528101919091526040015f2055600101610701565b505050565b60065460ff1615156001146108325760405162461bcd60e51b8152602060048201526017602482015276141c995cd85b194e881a5cc81b9bdd08195b98589b1959604a1b604482015260640161047b565b5f6001600160a01b0383166108475734610849565b815b90505f6108568483610402565b9050805f0361089e5760405162461bcd60e51b8152602060048201526014602482015273050726573616c653a20416d6f756e7420697320360641b604482015260640161047b565b60035481600b546108af919061149e565b1061090a5760405162461bcd60e51b815260206004820152602560248201527f50726573616c653a204e6f7420656e6f75676820746f6b656e7320746f206265604482015264081cdbdb1960da1b606482015260840161047b565b6001600160a01b03841615610928576109238484610ce9565b610930565b610930610d51565b80600b5f828254610941919061149e565b9091555050335f9081526008602052604090205460ff166109cc576007805460018181019092557fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b031916339081179091555f908152600860205260408120805460ff191683179055600a80549091906109c690849061149e565b90915550505b335f90815260096020526040812080548392906109ea90849061149e565b909155505060408051838152602081018390526001600160a01b0386169133917facf531ec465d633652ed6f0179042e0f5105d16b2eb45652517eb8f96e3d1997910160405180910390a350505050565b6060818310610a9b5760405162461bcd60e51b815260206004820152602660248201527f50726573616c653a205f66726f6d2073686f756c64206265206c657373207468604482015265616e205f746f60d01b606482015260840161047b565b5f600a548311610aab5782610aaf565b600a545b90505f600a548511610ac15784610ac5565b600a545b90505f610ad282846114b1565b67ffffffffffffffff811115610aea57610aea61103a565b604051908082528060200260200182016040528015610b2e57816020015b604080518082019091525f8082526020820152815260200190600190039081610b085790505b509050815b83811015610bef57604051806040016040528060078381548110610b5957610b5961148a565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316815260200160095f60078581548110610b9857610b9861148a565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205490528251839083908110610bd257610bd261148a565b6020908102919091010152610be860018261149e565b9050610b33565b5095945050505050565b610c01610cbb565b815f03610c0c575f80fd5b6001919091556006805460ff1916911515919091179055600291909155600355565b610c36610cbb565b60065460ff161515600114610c875760405162461bcd60e51b8152602060048201526017602482015276141c995cd85b194e881a5cc81b9bdd08195b98589b1959604a1b604482015260640161047b565b6006805460ff19169055565b60078181548110610ca2575f80fd5b5f918252602090912001546001600160a01b0316905081565b5f546001600160a01b03163314610ce75760405163118cdaa760e01b815233600482015260240161047b565b565b5f6064610cf783601e611405565b610d01919061141c565b600c54909150610d20906001600160a01b038581169133911684610de3565b6107dc33610d355f546001600160a01b031690565b610d3f84866114b1565b6001600160a01b038716929190610de3565b5f6064610d5f34601e611405565b610d69919061141c565b600c546040519192506001600160a01b03169082156108fc029083905f818181858888f19350505050158015610da1573d5f803e3d5ffd5b505f546001600160a01b03166108fc610dba83346114b1565b6040518115909202915f818181858888f19350505050158015610ddf573d5f803e3d5ffd5b5050565b604080516001600160a01b038581166024830152848116604483015260648083018590528351808403909101815260849092019092526020810180516001600160e01b03166323b872dd60e01b179052610666918691905f90610e4890841683610e95565b905080515f14158015610e6c575080806020019051810190610e6a91906114c4565b155b156107dc57604051635274afe760e01b81526001600160a01b038416600482015260240161047b565b60606104f083835f845f80856001600160a01b03168486604051610eb991906114df565b5f6040518083038185875af1925050503d805f8114610ef3576040519150601f19603f3d011682016040523d82523d5f602084013e610ef8565b606091505b5091509150610f08868383610f14565b925050505b9392505050565b606082610f2957610f2482610f70565b610f0d565b8151158015610f4057506001600160a01b0384163b155b15610f6957604051639996b31560e01b81526001600160a01b038516600482015260240161047b565b5080610f0d565b805115610f805780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b80356001600160a01b0381168114610fb2575f80fd5b919050565b5f8060408385031215610fc8575f80fd5b610fd183610f9c565b946020939093013593505050565b5f60208284031215610fef575f80fd5b6104f082610f9c565b8015158114610f99575f80fd5b5f8060408385031215611016575f80fd5b61101f83610f9c565b9150602083013561102f81610ff8565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156110775761107761103a565b604052919050565b5f67ffffffffffffffff8211156110985761109861103a565b5060051b60200190565b5f82601f8301126110b1575f80fd5b81356110c46110bf8261107f565b61104e565b8082825260208201915060208360051b8601019250858311156110e5575f80fd5b602085015b83811015610bef576110fb81610f9c565b8352602092830192016110ea565b5f82601f830112611118575f80fd5b81356111266110bf8261107f565b8082825260208201915060208360051b860101925085831115611147575f80fd5b602085015b83811015610bef57803583526020928301920161114c565b5f805f60608486031215611176575f80fd5b833567ffffffffffffffff81111561118c575f80fd5b611198868287016110a2565b935050602084013567ffffffffffffffff8111156111b4575f80fd5b6111c086828701611109565b93969395505050506040919091013590565b5f80604083850312156111e3575f80fd5b823567ffffffffffffffff8111156111f9575f80fd5b611205858286016110a2565b925050602083013567ffffffffffffffff811115611221575f80fd5b61122d85828601611109565b9150509250929050565b5f8060408385031215611248575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b818110156112a357835180516001600160a01b031684526020908101518185015290930192604090920191600101611270565b509095945050505050565b5f805f80608085870312156112c1575f80fd5b84359350602085013592506040850135915060608501356112e181610ff8565b939692955090935050565b5f602082840312156112fc575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156113525780850481111561133657611336611303565b600184161561134457908102905b60019390931c92800261131b565b935093915050565b5f82611368575060016104f3565b8161137457505f6104f3565b816001811461138a5760028114611394576113b0565b60019150506104f3565b60ff8411156113a5576113a5611303565b50506001821b6104f3565b5060208310610133831016604e8410600b84101617156113d3575081810a6104f3565b6113df5f198484611317565b805f19048211156113f2576113f2611303565b029392505050565b5f6104f0838361135a565b80820281158282048414176104f3576104f3611303565b5f8261143657634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602f908201527f50726573616c653a20746f6b656e73202620707269636573206172726179732060408201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b808201808211156104f3576104f3611303565b818103818111156104f3576104f3611303565b5f602082840312156114d4575f80fd5b81516104f081610ff8565b5f82518060208501845e5f92019182525091905056fea2646970667358221220c6bd803c92544dc60ada5a921e8d4dede0cfeb9010477f67a1a6baddfbc473da64736f6c634300081a0033

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

000000000000000000000000d55cee41de50dd7ba44733f1d4ec316a53440bf4

-----Decoded View---------------
Arg [0] : _teamWallet (address): 0xD55cEe41De50Dd7bA44733F1D4eC316a53440bF4

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d55cee41de50dd7ba44733f1d4ec316a53440bf4


Deployed Bytecode Sourcemap

8167:5435:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11113:492;;;;;;;;;;-1:-1:-1;11113:492:0;;;;;:::i;:::-;;:::i;:::-;;;643:25:1;;;631:2;616:18;11113:492:0;;;;;;;;8384:46;;;;;;;;;;-1:-1:-1;8384:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;10320:206;;;;;;;;;;-1:-1:-1;10320:206:0;;;;;:::i;:::-;;:::i;:::-;;8235:19;;;;;;;;;;;;;;;;10532:575;;;;;;;;;;-1:-1:-1;10532:575:0;;;;;:::i;:::-;;:::i;9744:88::-;;;;;;;;;;;;;:::i;8601:26::-;;;;;;;;;;;;;;;;9838:476;;;;;;;;;;-1:-1:-1;9838:476:0;;;;;:::i;:::-;;:::i;8547:47::-;;;;;;;;;;-1:-1:-1;8547:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;8671:25;;;;;;;;;;-1:-1:-1;8671:25:0;;;;-1:-1:-1;;;;;8671:25:0;;;;;;-1:-1:-1;;;;;4789:32:1;;;4771:51;;4759:2;4744:18;8671:25:0;4625:203:1;8634:30:0;;;;;;;;;;;;;;;;12102:931;;;;;;:::i;:::-;;:::i;8292:33::-;;;;;;;;;;;;;;;;13039:560;;;;;;;;;;-1:-1:-1;13039:560:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8332:45::-;;;;;;;;;;-1:-1:-1;8332:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6134:14:1;;6127:22;6109:41;;6097:2;6082:18;8332:45:0;5969:187:1;9297:347:0;;;;;;;;;;-1:-1:-1;9297:347:0;;;;;:::i;:::-;;:::i;1190:87::-;;;;;;;;;;-1:-1:-1;1236:7:0;1263:6;-1:-1:-1;;;;;1263:6:0;1190:87;;8261:24;;;;;;;;;;;;;;;;8496:44;;;;;;;;;;-1:-1:-1;8496:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9650:88;;;;;;;;;;;;;:::i;8466:23::-;;;;;;;;;;-1:-1:-1;8466:23:0;;;;;:::i;:::-;;:::i;8437:22::-;;;;;;;;;;-1:-1:-1;8437:22:0;;;;;;;;11113:492;11214:7;;-1:-1:-1;;;;;11263:19:0;;;11259:315;;-1:-1:-1;;;;;11307:20:0;;;;;;:13;:20;;;;;;;;:28;;:20;:28;11299:67;;;;-1:-1:-1;;;11299:67:0;;7201:2:1;11299:67:0;;;7183:21:1;7240:2;7220:18;;;7213:30;7279:28;7259:18;;;7252:56;7325:18;;11299:67:0;;;;;;;;;-1:-1:-1;;;;;11397:18:0;;11381:13;11397:18;;;:11;:18;;;;;;11456:12;;11397:18;;11450;;:2;:18;:::i;:::-;11440:29;;:6;:29;:::i;:::-;11439:41;;;;:::i;:::-;11430:50;;11284:208;11259:315;;;11557:4;;11539:12;;11533:18;;:2;:18;:::i;:::-;11523:29;;:6;:29;:::i;:::-;11522:40;;;;:::i;:::-;11513:49;;11259:315;11591:6;-1:-1:-1;11113:492:0;;;;;:::o;10320:206::-;1151:13;:11;:13::i;:::-;-1:-1:-1;;;;;10441:21:0;::::1;;::::0;;;:13:::1;:21;::::0;;;;;:32;::::1;;:21;::::0;;::::1;:32;;::::0;10433:41:::1;;;::::0;::::1;;-1:-1:-1::0;;;;;10487:21:0;;;::::1;;::::0;;;:13:::1;:21;::::0;;;;:31;;-1:-1:-1;;10487:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10320:206::o;10532:575::-;1151:13;:11;:13::i;:::-;10728:7:::1;:14;10710:7;:14;:32;10688:129;;;;-1:-1:-1::0;;;10688:129:0::1;;;;;;;:::i;:::-;10832:10:::0;;10828:55:::1;;10859:4;:12:::0;;;10828:55:::1;10898:9;10893:207;10917:7;:14;10913:1;:18;10893:207;;;10964:13;:25;10978:7;10986:1;10978:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10964:25:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10964:25:0;;::::1;;:33;;:25:::0;:33:::1;10956:42;;;::::0;::::1;;11021:7;11029:1;11021:10;;;;;;;;:::i;:::-;;;;;;;11035:1;11021:15:::0;11013:24:::1;;;::::0;::::1;;11078:7;11086:1;11078:10;;;;;;;;:::i;:::-;;;;;;;11052:11;:23;11064:7;11072:1;11064:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11052:23:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11052:23:0;:36;10933:6:::1;10938:1;10933:6:::0;::::1;:::i;:::-;;;10893:207;;;;10532:575:::0;;;:::o;9744:88::-;1151:13;:11;:13::i;:::-;9224:10:::1;::::0;::::1;;:19;9216:55;;;::::0;-1:-1:-1;;;9216:55:0;;10184:2:1;9216:55:0::1;::::0;::::1;10166:21:1::0;10223:2;10203:18;;;10196:30;10262:25;10242:18;;;10235:53;10305:18;;9216:55:0::1;9982:347:1::0;9216:55:0::1;9807:10:::2;:17:::0;;-1:-1:-1;;9807:17:0::2;9820:4;9807:17;::::0;;9744:88::o;9838:476::-;1151:13;:11;:13::i;:::-;10011:7:::1;:14;9993:7;:14;:32;9971:129;;;;-1:-1:-1::0;;;9971:129:0::1;;;;;;;:::i;:::-;10118:9;10113:194;10137:7;:14;10133:1;:18;10113:194;;;10181:7;10189:1;10181:10;;;;;;;;:::i;:::-;;;;;;;10195:1;10181:15:::0;10173:24:::1;;;::::0;::::1;;10240:4;10212:13;:25;10226:7;10234:1;10226:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;10212:25:0::1;-1:-1:-1::0;;;;;10212:25:0::1;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;10285:7;10293:1;10285:10;;;;;;;;:::i;:::-;;;;;;;10259:11;:23;10271:7;10279:1;10271:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10259:23:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10259:23:0;:36;10153:3:::1;;10113:194;;;;9838:476:::0;;:::o;12102:931::-;9111:10;;;;:18;;:10;:18;9103:54;;;;-1:-1:-1;;;9103:54:0;;10536:2:1;9103:54:0;;;10518:21:1;10575:2;10555:18;;;10548:30;-1:-1:-1;;;10594:18:1;;;10587:53;10657:18;;9103:54:0;10334:347:1;9103:54:0;12218:14:::1;-1:-1:-1::0;;;;;12235:20:0;::::1;:42;;12268:9;12235:42;;;12258:7;12235:42;12218:59;;12288:20;12311:30;12326:6;12334;12311:14;:30::i;:::-;12288:53;;12362:12;12378:1;12362:17:::0;12354:50:::1;;;::::0;-1:-1:-1;;;12354:50:0;;10888:2:1;12354:50:0::1;::::0;::::1;10870:21:1::0;10927:2;10907:18;;;10900:30;-1:-1:-1;;;10946:18:1;;;10939:50;11006:18;;12354:50:0::1;10686:344:1::0;12354:50:0::1;12472:18;;12456:12;12438:15;;:30;;;;:::i;:::-;12437:53;12415:140;;;::::0;-1:-1:-1;;;12415:140:0;;11237:2:1;12415:140:0::1;::::0;::::1;11219:21:1::0;11276:2;11256:18;;;11249:30;11315:34;11295:18;;;11288:62;-1:-1:-1;;;11366:18:1;;;11359:35;11411:19;;12415:140:0::1;11035:401:1::0;12415:140:0::1;-1:-1:-1::0;;;;;12572:20:0;::::1;::::0;12568:129:::1;;12609:30;12623:6;12631:7;12609:13;:30::i;:::-;12568:129;;;12672:13;:11;:13::i;:::-;12726:12;12707:15;;:31;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;12769:10:0::1;12756:24;::::0;;;:12:::1;:24;::::0;;;;;::::1;;12751:158;;12797:6;:23:::0;;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;-1:-1:-1;;;;;;12797:23:0::1;12809:10;12797:23:::0;;::::1;::::0;;;-1:-1:-1;12835:24:0;;;:12:::1;12797:23;12835:24:::0;;;;:31;;-1:-1:-1;;12835:31:0::1;::::0;::::1;::::0;;12881:11:::1;:16:::0;;:11;;-1:-1:-1;12881:16:0::1;::::0;12797:23;;12881:16:::1;:::i;:::-;::::0;;;-1:-1:-1;;12751:158:0::1;12932:10;12919:24;::::0;;;:12:::1;:24;::::0;;;;:40;;12947:12;;12919:24;:40:::1;::::0;12947:12;;12919:40:::1;:::i;:::-;::::0;;;-1:-1:-1;;12975:50:0::1;::::0;;11615:25:1;;;11671:2;11656:18;;11649:34;;;-1:-1:-1;;;;;12975:50:0;::::1;::::0;12984:10:::1;::::0;12975:50:::1;::::0;11588:18:1;12975:50:0::1;;;;;;;12207:826;;12102:931:::0;;:::o;13039:560::-;13136:21;13186:3;13178:5;:11;13170:62;;;;-1:-1:-1;;;13170:62:0;;11896:2:1;13170:62:0;;;11878:21:1;11935:2;11915:18;;;11908:30;11974:34;11954:18;;;11947:62;-1:-1:-1;;;12025:18:1;;;12018:36;12071:19;;13170:62:0;11694:402:1;13170:62:0;13243:7;13259:11;;13253:3;:17;:37;;13287:3;13253:37;;;13273:11;;13253:37;13243:47;;13301:9;13321:11;;13313:5;:19;:41;;13349:5;13313:41;;;13335:11;;13313:41;13301:53;-1:-1:-1;13365:31:0;13418:9;13301:53;13418:2;:9;:::i;:::-;13399:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;13399:29:0;;;;;;;;;;;;;;;-1:-1:-1;13365:63:0;-1:-1:-1;13453:4:0;13439:126;13463:2;13459:1;:6;13439:126;;;13505:48;;;;;;;;13518:6;13525:1;13518:9;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13518:9:0;-1:-1:-1;;;;;13505:48:0;;;;;13529:12;:23;13542:6;13549:1;13542:9;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13542:9:0;13529:23;;;;;;;;;;;;;13505:48;;13490:12;;:9;;13500:1;;13490:12;;;;;;:::i;:::-;;;;;;;;;;:63;13467:6;13472:1;13467:6;;:::i;:::-;;;13439:126;;;-1:-1:-1;13582:9:0;13039:560;-1:-1:-1;;;;;13039:560:0:o;9297:347::-;1151:13;:11;:13::i;:::-;9481:5:::1;9490:1;9481:10:::0;9473:19:::1;;;::::0;::::1;;9503:4;:12:::0;;;;9526:10:::1;:24:::0;;-1:-1:-1;;9526:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9561:12:::1;:24:::0;;;;9596:18:::1;:40:::0;9297:347::o;9650:88::-;1151:13;:11;:13::i;:::-;9111:10:::1;::::0;::::1;;:18;;:10:::0;:18:::1;9103:54;;;::::0;-1:-1:-1;;;9103:54:0;;10536:2:1;9103:54:0::1;::::0;::::1;10518:21:1::0;10575:2;10555:18;;;10548:30;-1:-1:-1;;;10594:18:1;;;10587:53;10657:18;;9103:54:0::1;10334:347:1::0;9103:54:0::1;9712:10:::2;:18:::0;;-1:-1:-1;;9712:18:0::2;::::0;;9650:88::o;8466:23::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8466:23:0;;-1:-1:-1;8466:23:0;:::o;1283:166::-;1236:7;1263:6;-1:-1:-1;;;;;1263:6:0;365:10;1343:23;1339:103;;1390:40;;-1:-1:-1;;;1390:40:0;;365:10;1390:40;;;4771:51:1;4744:18;;1390:40:0;4625:203:1;1339:103:0;1283:166::o;11813:283::-;11889:15;11927:3;11908:14;:7;11919:2;11908:14;:::i;:::-;11907:24;;;;:::i;:::-;11986:10;;11889:42;;-1:-1:-1;11942:64:0;;-1:-1:-1;;;;;11942:31:0;;;;11974:10;;11986;11889:42;11942:31;:64::i;:::-;12017:71;12049:10;12061:7;1236;1263:6;-1:-1:-1;;;;;1263:6:0;;1190:87;12061:7;12070:17;12080:7;12070;:17;:::i;:::-;-1:-1:-1;;;;;12017:31:0;;;:71;;:31;:71::i;11611:196::-;11654:15;11691:3;11673:14;:9;11685:2;11673:14;:::i;:::-;11672:22;;;;:::i;:::-;11713:10;;11705:37;;11654:40;;-1:-1:-1;;;;;;11713:10:0;;11705:37;;;;;11654:40;;11713:10;11705:37;11713:10;11705:37;11654:40;11713:10;11705:37;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1236:7:0;1263:6;-1:-1:-1;;;;;1263:6:0;11753:46;11779:19;11791:7;11779:9;:19;:::i;:::-;11753:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11643:164;11611:196::o;5820:270::-;6018:53;;;-1:-1:-1;;;;;12454:32:1;;;6018:53:0;;;12436:51:1;12523:32;;;12503:18;;;12496:60;12572:18;;;;12565:34;;;6018:53:0;;;;;;;;;;12409:18:1;;;;6018:53:0;;;;;;;;-1:-1:-1;;;;;6018:53:0;-1:-1:-1;;;6018:53:0;;;5964:118;;5998:5;;6018:53;-1:-1:-1;;7582:33:0;;6033:18;;6018:53;7582:27;:33::i;:::-;7556:59;;7630:10;:17;7651:1;7630:22;;:57;;;;;7668:10;7657:30;;;;;;;;;;;;:::i;:::-;7656:31;7630:57;7626:137;;;7711:40;;-1:-1:-1;;;7711:40:0;;-1:-1:-1;;;;;4789:32:1;;7711:40:0;;;4771:51:1;4744:18;;7711:40:0;4625:203:1;2950:178:0;3050:12;3082:38;3104:6;3112:4;3118:1;3050:12;3413;3427:23;3454:6;-1:-1:-1;;;;;3454:11:0;3473:5;3494:4;3454:55;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3412:97;;;;3527:55;3554:6;3562:7;3571:10;3527:26;:55::i;:::-;3520:62;;;;3134:456;;;;;;:::o;4171:597::-;4319:12;4349:7;4344:417;;4373:19;4381:10;4373:7;:19::i;:::-;4344:417;;;4601:17;;:22;:49;;;;-1:-1:-1;;;;;;4627:18:0;;;:23;4601:49;4597:121;;;4678:24;;-1:-1:-1;;;4678:24:0;;-1:-1:-1;;;;;4789:32:1;;4678:24:0;;;4771:51:1;4744:18;;4678:24:0;4625:203:1;4597:121:0;-1:-1:-1;4739:10:0;4732:17;;5035:328;5105:17;;:21;5101:255;;5200:10;5194:17;5257:15;5244:10;5240:2;5236:19;5229:44;5101:255;5327:17;;-1:-1:-1;;;5327:17:0;;;;;;;;;;;5101:255;5035:328;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:300::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;458:2;443:18;;;;430:32;;-1:-1:-1;;;192:300:1:o;679:186::-;738:6;791:2;779:9;770:7;766:23;762:32;759:52;;;807:1;804;797:12;759:52;830:29;849:9;830:29;:::i;870:118::-;956:5;949:13;942:21;935:5;932:32;922:60;;978:1;975;968:12;993:315;1058:6;1066;1119:2;1107:9;1098:7;1094:23;1090:32;1087:52;;;1135:1;1132;1125:12;1087:52;1158:29;1177:9;1158:29;:::i;:::-;1148:39;;1237:2;1226:9;1222:18;1209:32;1250:28;1272:5;1250:28;:::i;:::-;1297:5;1287:15;;;993:315;;;;;:::o;1313:127::-;1374:10;1369:3;1365:20;1362:1;1355:31;1405:4;1402:1;1395:15;1429:4;1426:1;1419:15;1445:275;1516:2;1510:9;1581:2;1562:13;;-1:-1:-1;;1558:27:1;1546:40;;1616:18;1601:34;;1637:22;;;1598:62;1595:88;;;1663:18;;:::i;:::-;1699:2;1692:22;1445:275;;-1:-1:-1;1445:275:1:o;1725:183::-;1785:4;1818:18;1810:6;1807:30;1804:56;;;1840:18;;:::i;:::-;-1:-1:-1;1885:1:1;1881:14;1897:4;1877:25;;1725:183::o;1913:675::-;1967:5;2020:3;2013:4;2005:6;2001:17;1997:27;1987:55;;2038:1;2035;2028:12;1987:55;2078:6;2065:20;2105:64;2121:47;2161:6;2121:47;:::i;:::-;2105:64;:::i;:::-;2193:3;2217:6;2212:3;2205:19;2249:4;2244:3;2240:14;2233:21;;2310:4;2300:6;2297:1;2293:14;2285:6;2281:27;2277:38;2263:52;;2338:3;2330:6;2327:15;2324:35;;;2355:1;2352;2345:12;2324:35;2391:4;2383:6;2379:17;2405:152;2421:6;2416:3;2413:15;2405:152;;;2489:23;2508:3;2489:23;:::i;:::-;2477:36;;2542:4;2533:14;;;;2438;2405:152;;2593:723;2647:5;2700:3;2693:4;2685:6;2681:17;2677:27;2667:55;;2718:1;2715;2708:12;2667:55;2758:6;2745:20;2785:64;2801:47;2841:6;2801:47;:::i;2785:64::-;2873:3;2897:6;2892:3;2885:19;2929:4;2924:3;2920:14;2913:21;;2990:4;2980:6;2977:1;2973:14;2965:6;2961:27;2957:38;2943:52;;3018:3;3010:6;3007:15;3004:35;;;3035:1;3032;3025:12;3004:35;3071:4;3063:6;3059:17;3085:200;3101:6;3096:3;3093:15;3085:200;;;3193:17;;3223:18;;3270:4;3261:14;;;;3118;3085:200;;3321:704;3448:6;3456;3464;3517:2;3505:9;3496:7;3492:23;3488:32;3485:52;;;3533:1;3530;3523:12;3485:52;3573:9;3560:23;3606:18;3598:6;3595:30;3592:50;;;3638:1;3635;3628:12;3592:50;3661:61;3714:7;3705:6;3694:9;3690:22;3661:61;:::i;:::-;3651:71;;;3775:2;3764:9;3760:18;3747:32;3804:18;3794:8;3791:32;3788:52;;;3836:1;3833;3826:12;3788:52;3859:63;3914:7;3903:8;3892:9;3888:24;3859:63;:::i;:::-;3321:704;;3849:73;;-1:-1:-1;;;;3991:2:1;3976:18;;;;3963:32;;3321:704::o;4030:590::-;4148:6;4156;4209:2;4197:9;4188:7;4184:23;4180:32;4177:52;;;4225:1;4222;4215:12;4177:52;4265:9;4252:23;4298:18;4290:6;4287:30;4284:50;;;4330:1;4327;4320:12;4284:50;4353:61;4406:7;4397:6;4386:9;4382:22;4353:61;:::i;:::-;4343:71;;;4467:2;4456:9;4452:18;4439:32;4496:18;4486:8;4483:32;4480:52;;;4528:1;4525;4518:12;4480:52;4551:63;4606:7;4595:8;4584:9;4580:24;4551:63;:::i;:::-;4541:73;;;4030:590;;;;;:::o;4833:346::-;4901:6;4909;4962:2;4950:9;4941:7;4937:23;4933:32;4930:52;;;4978:1;4975;4968:12;4930:52;-1:-1:-1;;5023:23:1;;;5143:2;5128:18;;;5115:32;;-1:-1:-1;4833:346:1:o;5184:780::-;5432:2;5444:21;;;5514:13;;5417:18;;;5536:22;;;5384:4;;5615:15;;;5589:2;5574:18;;;5384:4;5658:280;5672:6;5669:1;5666:13;5658:280;;;5731:13;;5773:9;;-1:-1:-1;;;;;5769:35:1;5757:48;;5853:2;5845:11;;;5839:18;5825:12;;;5818:40;5913:15;;;;5887:2;5878:12;;;;5801:1;5687:9;5658:280;;;-1:-1:-1;5955:3:1;;5184:780;-1:-1:-1;;;;;5184:780:1:o;6161:602::-;6244:6;6252;6260;6268;6321:3;6309:9;6300:7;6296:23;6292:33;6289:53;;;6338:1;6335;6328:12;6289:53;6383:23;;;-1:-1:-1;6503:2:1;6488:18;;6475:32;;-1:-1:-1;6606:2:1;6591:18;;6578:32;;-1:-1:-1;6688:2:1;6673:18;;6660:32;6701:30;6660:32;6701:30;:::i;:::-;6161:602;;;;-1:-1:-1;6161:602:1;;-1:-1:-1;;6161:602:1:o;6768:226::-;6827:6;6880:2;6868:9;6859:7;6855:23;6851:32;6848:52;;;6896:1;6893;6886:12;6848:52;-1:-1:-1;6941:23:1;;6768:226;-1:-1:-1;6768:226:1:o;7354:127::-;7415:10;7410:3;7406:20;7403:1;7396:31;7446:4;7443:1;7436:15;7470:4;7467:1;7460:15;7486:375;7574:1;7592:5;7606:249;7627:1;7617:8;7614:15;7606:249;;;7677:4;7672:3;7668:14;7662:4;7659:24;7656:50;;;7686:18;;:::i;:::-;7736:1;7726:8;7722:16;7719:49;;;7750:16;;;;7719:49;7833:1;7829:16;;;;;7789:15;;7606:249;;;7486:375;;;;;;:::o;7866:902::-;7915:5;7945:8;7935:80;;-1:-1:-1;7986:1:1;8000:5;;7935:80;8034:4;8024:76;;-1:-1:-1;8071:1:1;8085:5;;8024:76;8116:4;8134:1;8129:59;;;;8202:1;8197:174;;;;8109:262;;8129:59;8159:1;8150:10;;8173:5;;;8197:174;8234:3;8224:8;8221:17;8218:43;;;8241:18;;:::i;:::-;-1:-1:-1;;8297:1:1;8283:16;;8356:5;;8109:262;;8455:2;8445:8;8442:16;8436:3;8430:4;8427:13;8423:36;8417:2;8407:8;8404:16;8399:2;8393:4;8390:12;8386:35;8383:77;8380:203;;;-1:-1:-1;8492:19:1;;;8568:5;;8380:203;8615:42;-1:-1:-1;;8640:8:1;8634:4;8615:42;:::i;:::-;8693:6;8689:1;8685:6;8681:19;8672:7;8669:32;8666:58;;;8704:18;;:::i;:::-;8742:20;;7866:902;-1:-1:-1;;;7866:902:1:o;8773:131::-;8833:5;8862:36;8889:8;8883:4;8862:36;:::i;8909:168::-;8982:9;;;9013;;9030:15;;;9024:22;;9010:37;9000:71;;9051:18;;:::i;9082:217::-;9122:1;9148;9138:132;;9192:10;9187:3;9183:20;9180:1;9173:31;9227:4;9224:1;9217:15;9255:4;9252:1;9245:15;9138:132;-1:-1:-1;9284:9:1;;9082:217::o;9304:411::-;9506:2;9488:21;;;9545:2;9525:18;;;9518:30;9584:34;9579:2;9564:18;;9557:62;-1:-1:-1;;;9650:2:1;9635:18;;9628:45;9705:3;9690:19;;9304:411::o;9720:127::-;9781:10;9776:3;9772:20;9769:1;9762:31;9812:4;9809:1;9802:15;9836:4;9833:1;9826:15;9852:125;9917:9;;;9938:10;;;9935:36;;;9951:18;;:::i;12101:128::-;12168:9;;;12189:11;;;12186:37;;;12203:18;;:::i;12610:245::-;12677:6;12730:2;12718:9;12709:7;12705:23;12701:32;12698:52;;;12746:1;12743;12736:12;12698:52;12778:9;12772:16;12797:28;12819:5;12797:28;:::i;12860:301::-;12989:3;13027:6;13021:13;13073:6;13066:4;13058:6;13054:17;13049:3;13043:37;13135:1;13099:16;;13124:13;;;-1:-1:-1;13099:16:1;12860:301;-1:-1:-1;12860:301:1:o

Swarm Source

ipfs://c6bd803c92544dc60ada5a921e8d4dede0cfeb9010477f67a1a6baddfbc473da

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

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.