ETH Price: $2,454.98 (-1.32%)

Token

 

Overview

Max Total Supply

1,523

Holders

262

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
iannelli.eth
0x924d8cfd817d27b086e4b5bd85552bfe89674abc
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PepeV2

Compiler Version
v0.6.11+commit.5ef660b1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-10-18
*/

// File: @openzeppelin/contracts/introspection/IERC165.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/**
 * @dev Interface of the ERC165 standard, as defined in the
 * https://eips.ethereum.org/EIPS/eip-165[EIP].
 *
 * Implementers can declare support of contract interfaces, which can then be
 * queried by others ({ERC165Checker}).
 *
 * For an implementation, see {ERC165}.
 */
interface IERC165 {
    /**
     * @dev Returns true if this contract implements the interface defined by
     * `interfaceId`. See the corresponding
     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
     * to learn more about how these ids are created.
     *
     * This function call must use less than 30 000 gas.
     */
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

// File: @openzeppelin/contracts/token/ERC1155/IERC1155.sol

pragma solidity ^0.6.2;


/**
 * @dev Required interface of an ERC1155 compliant contract, as defined in the
 * https://eips.ethereum.org/EIPS/eip-1155[EIP].
 *
 * _Available since v3.1._
 */
interface IERC1155 is IERC165 {
    /**
     * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.
     */
    event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);

    /**
     * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all
     * transfers.
     */
    event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values);

    /**
     * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to
     * `approved`.
     */
    event ApprovalForAll(address indexed account, address indexed operator, bool approved);

    /**
     * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.
     *
     * If an {URI} event was emitted for `id`, the standard
     * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value
     * returned by {IERC1155MetadataURI-uri}.
     */
    event URI(string value, uint256 indexed id);

    /**
     * @dev Returns the amount of tokens of token type `id` owned by `account`.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function balanceOf(address account, uint256 id) external view returns (uint256);

    /**
     * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.
     *
     * Requirements:
     *
     * - `accounts` and `ids` must have the same length.
     */
    function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids) external view returns (uint256[] memory);

    /**
     * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,
     *
     * Emits an {ApprovalForAll} event.
     *
     * Requirements:
     *
     * - `operator` cannot be the caller.
     */
    function setApprovalForAll(address operator, bool approved) external;

    /**
     * @dev Returns true if `operator` is approved to transfer ``account``'s tokens.
     *
     * See {setApprovalForAll}.
     */
    function isApprovedForAll(address account, address operator) external view returns (bool);

    /**
     * @dev Transfers `amount` tokens of token type `id` from `from` to `to`.
     *
     * Emits a {TransferSingle} event.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}.
     * - `from` must have a balance of tokens of type `id` of at least `amount`.
     * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the
     * acceptance magic value.
     */
    function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) external;

    /**
     * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.
     *
     * Emits a {TransferBatch} event.
     *
     * Requirements:
     *
     * - `ids` and `amounts` must have the same length.
     * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the
     * acceptance magic value.
     */
    function safeBatchTransferFrom(address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data) external;
}

// File: @openzeppelin/contracts/token/ERC1155/IERC1155MetadataURI.sol

pragma solidity ^0.6.2;


/**
 * @dev Interface of the optional ERC1155MetadataExtension interface, as defined
 * in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[EIP].
 *
 * _Available since v3.1._
 */
interface IERC1155MetadataURI is IERC1155 {
    /**
     * @dev Returns the URI for token type `id`.
     *
     * If the `\{id\}` substring is present in the URI, it must be replaced by
     * clients with the actual token type ID.
     */
    function uri(uint256 id) external view returns (string memory);
}

// File: contracts/Mintable.sol

pragma solidity =0.6.11;

interface Mintable {
    function setTokenId(uint256 id, bytes32 sig) external;
    function mint(address account, uint256 id, uint256 amount) external;
}

// File: @openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol


pragma solidity ^0.6.0;


/**
 * _Available since v3.1._
 */
interface IERC1155Receiver is IERC165 {

    /**
        @dev Handles the receipt of a single ERC1155 token type. This function is
        called at the end of a `safeTransferFrom` after the balance has been updated.
        To accept the transfer, this must return
        `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`
        (i.e. 0xf23a6e61, or its own function selector).
        @param operator The address which initiated the transfer (i.e. msg.sender)
        @param from The address which previously owned the token
        @param id The ID of the token being transferred
        @param value The amount of tokens being transferred
        @param data Additional data with no specified format
        @return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed
    */
    function onERC1155Received(
        address operator,
        address from,
        uint256 id,
        uint256 value,
        bytes calldata data
    )
        external
        returns(bytes4);

    /**
        @dev Handles the receipt of a multiple ERC1155 token types. This function
        is called at the end of a `safeBatchTransferFrom` after the balances have
        been updated. To accept the transfer(s), this must return
        `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))`
        (i.e. 0xbc197c81, or its own function selector).
        @param operator The address which initiated the batch transfer (i.e. msg.sender)
        @param from The address which previously owned the token
        @param ids An array containing ids of each token being transferred (order and length must match values array)
        @param values An array containing amounts of each token being transferred (order and length must match ids array)
        @param data Additional data with no specified format
        @return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` if transfer is allowed
    */
    function onERC1155BatchReceived(
        address operator,
        address from,
        uint256[] calldata ids,
        uint256[] calldata values,
        bytes calldata data
    )
        external
        returns(bytes4);
}

// File: @openzeppelin/contracts/GSN/Context.sol

pragma solidity ^0.6.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

// File: @openzeppelin/contracts/introspection/ERC165.sol

pragma solidity ^0.6.0;


/**
 * @dev Implementation of the {IERC165} interface.
 *
 * Contracts may inherit from this and call {_registerInterface} to declare
 * their support of an interface.
 */
contract ERC165 is IERC165 {
    /*
     * bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7
     */
    bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;

    /**
     * @dev Mapping of interface ids to whether or not it's supported.
     */
    mapping(bytes4 => bool) private _supportedInterfaces;

    constructor () internal {
        // Derived contracts need only register support for their own interfaces,
        // we register support for ERC165 itself here
        _registerInterface(_INTERFACE_ID_ERC165);
    }

    /**
     * @dev See {IERC165-supportsInterface}.
     *
     * Time complexity O(1), guaranteed to always use less than 30 000 gas.
     */
    function supportsInterface(bytes4 interfaceId) public view override returns (bool) {
        return _supportedInterfaces[interfaceId];
    }

    /**
     * @dev Registers the contract as an implementer of the interface defined by
     * `interfaceId`. Support of the actual ERC165 interface is automatic and
     * registering its interface id is not required.
     *
     * See {IERC165-supportsInterface}.
     *
     * Requirements:
     *
     * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`).
     */
    function _registerInterface(bytes4 interfaceId) internal virtual {
        require(interfaceId != 0xffffffff, "ERC165: invalid interface id");
        _supportedInterfaces[interfaceId] = true;
    }
}

// File: @openzeppelin/contracts/math/SafeMath.sol

pragma solidity ^0.6.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// File: @openzeppelin/contracts/utils/Address.sol

pragma solidity ^0.6.2;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies in extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

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

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    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");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

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

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

// File: contracts/ERC1155.sol

pragma solidity ^0.6.0;







/**
 *
 * Modified version of OpenZeppelin's ERC1155 implementation for Pepe purposes. Basically, remove metadata
 * from this contract
 * see https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC1155/ERC1155.sol
 *
 * _Available since v3.1._
 */
contract ERC1155 is Context, ERC165, IERC1155 {
    using SafeMath for uint256;
    using Address for address;

    // Mapping from token ID to account balances
    mapping (uint256 => mapping(address => uint256)) private _balances;

    // Mapping from account to operator approvals
    mapping (address => mapping(address => bool)) private _operatorApprovals;

    /*
     *     bytes4(keccak256('balanceOf(address,uint256)')) == 0x00fdd58e
     *     bytes4(keccak256('balanceOfBatch(address[],uint256[])')) == 0x4e1273f4
     *     bytes4(keccak256('setApprovalForAll(address,bool)')) == 0xa22cb465
     *     bytes4(keccak256('isApprovedForAll(address,address)')) == 0xe985e9c5
     *     bytes4(keccak256('safeTransferFrom(address,address,uint256,uint256,bytes)')) == 0xf242432a
     *     bytes4(keccak256('safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)')) == 0x2eb2c2d6
     *
     *     => 0x00fdd58e ^ 0x4e1273f4 ^ 0xa22cb465 ^
     *        0xe985e9c5 ^ 0xf242432a ^ 0x2eb2c2d6 == 0xd9b67a26
     */
    bytes4 private constant _INTERFACE_ID_ERC1155 = 0xd9b67a26;

    constructor () public {
        // register the supported interfaces to conform to ERC1155 via ERC165
        _registerInterface(_INTERFACE_ID_ERC1155);
    }

    /**
     * @dev See {IERC1155-balanceOf}.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function balanceOf(address account, uint256 id) public view override returns (uint256) {
        require(account != address(0), "ERC1155: balance query for the zero address");
        return _balances[id][account];
    }

    /**
    * @dev See {IERC1155-balanceOfBatch}.
    *
        * Requirements:
        *
        * - `accounts` and `ids` must have the same length.
        */
    function balanceOfBatch(
        address[] memory accounts,
        uint256[] memory ids
    )
    public
    view
    override
    returns (uint256[] memory)
    {
        require(accounts.length == ids.length, "ERC1155: accounts and ids length mismatch");

        uint256[] memory batchBalances = new uint256[](accounts.length);

        for (uint256 i = 0; i < accounts.length; ++i) {
            require(accounts[i] != address(0), "ERC1155: batch balance query for the zero address");
            batchBalances[i] = _balances[ids[i]][accounts[i]];
        }

        return batchBalances;
    }

    /**
    * @dev See {IERC1155-setApprovalForAll}.
    */
    function setApprovalForAll(address operator, bool approved) public virtual override {
        require(_msgSender() != operator, "ERC1155: setting approval status for self");

        _operatorApprovals[_msgSender()][operator] = approved;
        emit ApprovalForAll(_msgSender(), operator, approved);
    }

    /**
    * @dev See {IERC1155-isApprovedForAll}.
    */
    function isApprovedForAll(address account, address operator) public view override returns (bool) {
        return _operatorApprovals[account][operator];
    }

    /**
    * @dev See {IERC1155-safeTransferFrom}.
    */
    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        uint256 amount,
        bytes memory data
    )
    public
    virtual
    override
    {
        require(to != address(0), "ERC1155: transfer to the zero address");
        require(
            from == _msgSender() || isApprovedForAll(from, _msgSender()),
            "ERC1155: caller is not owner nor approved"
        );

        address operator = _msgSender();

        _beforeTokenTransfer(operator, from, to, _asSingletonArray(id), _asSingletonArray(amount), data);

        _balances[id][from] = _balances[id][from].sub(amount, "ERC1155: insufficient balance for transfer");
        _balances[id][to] = _balances[id][to].add(amount);

        emit TransferSingle(operator, from, to, id, amount);

        _doSafeTransferAcceptanceCheck(operator, from, to, id, amount, data);
    }

    /**
    * @dev See {IERC1155-safeBatchTransferFrom}.
    */
    function safeBatchTransferFrom(
        address from,
        address to,
        uint256[] memory ids,
        uint256[] memory amounts,
        bytes memory data
    )
    public
    virtual
    override
    {
        require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch");
        require(to != address(0), "ERC1155: transfer to the zero address");
        require(
            from == _msgSender() || isApprovedForAll(from, _msgSender()),
            "ERC1155: transfer caller is not owner nor approved"
        );

        address operator = _msgSender();

        _beforeTokenTransfer(operator, from, to, ids, amounts, data);

        for (uint256 i = 0; i < ids.length; ++i) {
            uint256 id = ids[i];
            uint256 amount = amounts[i];

            _balances[id][from] = _balances[id][from].sub(
                amount,
                "ERC1155: insufficient balance for transfer"
            );
            _balances[id][to] = _balances[id][to].add(amount);
        }

        emit TransferBatch(operator, from, to, ids, amounts);

        _doSafeBatchTransferAcceptanceCheck(operator, from, to, ids, amounts, data);
    }

    /**
    * @dev Creates `amount` tokens of token type `id`, and assigns them to `account`.
    *
        * Emits a {TransferSingle} event.
        *
        * Requirements:
        *
        * - `account` cannot be the zero address.
        * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the
    * acceptance magic value.
        */
    function _mint(address account, uint256 id, uint256 amount, bytes memory data) internal virtual {
        require(account != address(0), "ERC1155: mint to the zero address");

        address operator = _msgSender();

        _beforeTokenTransfer(operator, address(0), account, _asSingletonArray(id), _asSingletonArray(amount), data);

        _balances[id][account] = _balances[id][account].add(amount);
        emit TransferSingle(operator, address(0), account, id, amount);

        _doSafeTransferAcceptanceCheck(operator, address(0), account, id, amount, data);
    }

    /**
    * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_mint}.
    *
        * Requirements:
        *
        * - `ids` and `amounts` must have the same length.
        * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the
    * acceptance magic value.
        */
    function _mintBatch(address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data) internal virtual {
        require(to != address(0), "ERC1155: mint to the zero address");
        require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch");

        address operator = _msgSender();

        _beforeTokenTransfer(operator, address(0), to, ids, amounts, data);

        for (uint i = 0; i < ids.length; i++) {
            _balances[ids[i]][to] = amounts[i].add(_balances[ids[i]][to]);
        }

        emit TransferBatch(operator, address(0), to, ids, amounts);

        _doSafeBatchTransferAcceptanceCheck(operator, address(0), to, ids, amounts, data);
    }

    /**
    * @dev Destroys `amount` tokens of token type `id` from `account`
    *
        * Requirements:
        *
        * - `account` cannot be the zero address.
        * - `account` must have at least `amount` tokens of token type `id`.
        */
    function _burn(address account, uint256 id, uint256 amount) internal virtual {
        require(account != address(0), "ERC1155: burn from the zero address");

        address operator = _msgSender();

        _beforeTokenTransfer(operator, account, address(0), _asSingletonArray(id), _asSingletonArray(amount), "");

        _balances[id][account] = _balances[id][account].sub(
            amount,
            "ERC1155: burn amount exceeds balance"
        );

        emit TransferSingle(operator, account, address(0), id, amount);
    }

    /**
    * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_burn}.
    *
        * Requirements:
        *
        * - `ids` and `amounts` must have the same length.
        */
    function _burnBatch(address account, uint256[] memory ids, uint256[] memory amounts) internal virtual {
        require(account != address(0), "ERC1155: burn from the zero address");
        require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch");

        address operator = _msgSender();

        _beforeTokenTransfer(operator, account, address(0), ids, amounts, "");

        for (uint i = 0; i < ids.length; i++) {
            _balances[ids[i]][account] = _balances[ids[i]][account].sub(
                amounts[i],
                "ERC1155: burn amount exceeds balance"
            );
        }

        emit TransferBatch(operator, account, address(0), ids, amounts);
    }

    /**
    * @dev Hook that is called before any token transfer. This includes minting
    * and burning, as well as batched variants.
        *
        * The same hook is called on both single and batched variants. For single
    * transfers, the length of the `id` and `amount` arrays will be 1.
        *
        * Calling conditions (for each `id` and `amount` pair):
        *
        * - When `from` and `to` are both non-zero, `amount` of ``from``'s tokens
    * of token type `id` will be  transferred to `to`.
    * - When `from` is zero, `amount` tokens of token type `id` will be minted
    * for `to`.
            * - when `to` is zero, `amount` of ``from``'s tokens of token type `id`
        * will be burned.
    * - `from` and `to` are never both zero.
        * - `ids` and `amounts` have the same, non-zero length.
        *
        * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
        */
    function _beforeTokenTransfer(
        address operator,
        address from,
        address to,
        uint256[] memory ids,
        uint256[] memory amounts,
        bytes memory data
    )
    internal virtual
    { }

    function _doSafeTransferAcceptanceCheck(
        address operator,
        address from,
        address to,
        uint256 id,
        uint256 amount,
        bytes memory data
    )
    private
    {
        if (to.isContract()) {
            try IERC1155Receiver(to).onERC1155Received(operator, from, id, amount, data) returns (bytes4 response) {
                if (response != IERC1155Receiver(to).onERC1155Received.selector) {
                    revert("ERC1155: ERC1155Receiver rejected tokens");
                }
            } catch Error(string memory reason) {
                revert(reason);
            } catch {
                revert("ERC1155: transfer to non ERC1155Receiver implementer");
            }
        }
    }

    function _doSafeBatchTransferAcceptanceCheck(
        address operator,
        address from,
        address to,
        uint256[] memory ids,
        uint256[] memory amounts,
        bytes memory data
    )
    private
    {
        if (to.isContract()) {
            try IERC1155Receiver(to).onERC1155BatchReceived(operator, from, ids, amounts, data) returns (bytes4 response) {
                if (response != IERC1155Receiver(to).onERC1155BatchReceived.selector) {
                    revert("ERC1155: ERC1155Receiver rejected tokens");
                }
            } catch Error(string memory reason) {
                revert(reason);
            } catch {
                revert("ERC1155: transfer to non ERC1155Receiver implementer");
            }
        }
    }

    function _asSingletonArray(uint256 element) private pure returns (uint256[] memory) {
        uint256[] memory array = new uint256[](1);
        array[0] = element;

        return array;
    }
}

// File: contracts/PepeV2.sol

pragma solidity =0.6.11;
pragma experimental ABIEncoderV2;




contract PepeV2 is ERC1155(), IERC1155MetadataURI, Mintable {
    /*
     *     bytes4(keccak256('uri(uint256)')) == 0x0e89341c
     */
    bytes4 private constant _INTERFACE_ID_ERC1155_METADATA_URI = 0x0e89341c;

    address public immutable minterAddress;

    // Metadata mappings. 'sig' is the intermediate that was used in the initial PepeCore contract
    mapping(bytes32 => string) public sigToIpfsHash;
    mapping(uint256 => bytes32) public tokenIdToSig;

    constructor(address _minterAddress, bytes32[58] memory _orderedSigs, string[58] memory _orderedIpfsHashes) public {
        minterAddress = _minterAddress;

        for (uint256 i = 0; i < 58; i++) {
            sigToIpfsHash[_orderedSigs[i]] = _orderedIpfsHashes[i];
        }

        // register the supported interfaces to conform to ERC1155MetadataURI via ERC165
        _registerInterface(_INTERFACE_ID_ERC1155_METADATA_URI);
    }

    function setTokenId(uint256 id, bytes32 sig) external override {
        require(msg.sender == minterAddress, "PepeV2: Can only set token ID from minter address");

        require(tokenIdToSig[id] == 0, "PepeV2: can only set token ID sig once");

        tokenIdToSig[id] = sig;
    }

    function mint(address account, uint256 id, uint256 amount) external override {
        require(msg.sender == minterAddress, "PepeV2: Can only mint from minter address");

        _mint(account, id, amount, "0x0");
    }

    function uri(uint256 id) external view override returns (string memory) {
        string storage ipfsHash = sigToIpfsHash[tokenIdToSig[id]];

        // NOTE: bytes conversion just for empty test
        bytes memory tmpIpfsBytes = bytes(ipfsHash);
        require(tmpIpfsBytes.length > 0, "PepeV2: Can only return URI for known token IDs");

        return string(abi.encodePacked("ipfs://ipfs/", ipfsHash));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_minterAddress","type":"address"},{"internalType":"bytes32[58]","name":"_orderedSigs","type":"bytes32[58]"},{"internalType":"string[58]","name":"_orderedIpfsHashes","type":"string[58]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","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":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","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":"uint256","name":"id","type":"uint256"},{"internalType":"bytes32","name":"sig","type":"bytes32"}],"name":"setTokenId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"sigToIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenIdToSig","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]

60a06040523480156200001157600080fd5b506040516200356938038062003569833981810160405281019062000037919062000427565b6200004f6301ffc9a760e01b6200012a60201b60201c565b6200006763d9b67a2660e01b6200012a60201b60201c565b8273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505060008090505b603a81101562000108578181603a8110620000bb57fe5b6020020151600360008584603a8110620000d157fe5b602002015181526020019081526020016000209080519060200190620000f992919062000202565b508080600101915050620000a4565b5062000121630e89341c60e01b6200012a60201b60201c565b50505062000656565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141562000196576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200018d90620004da565b60405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024557805160ff191683800117855562000276565b8280016001018555821562000276579182015b828111156200027557825182559160200191906001019062000258565b5b50905062000285919062000289565b5090565b620002ae91905b80821115620002aa57600081600090555060010162000290565b5090565b90565b600081519050620002c28162000622565b92915050565b600082601f830112620002da57600080fd5b603a620002f1620002eb826200052a565b620004fc565b915081838560208402820111156200030857600080fd5b60005b838110156200033c5781620003218882620003b4565b8452602084019350602083019250506001810190506200030b565b5050505092915050565b600082601f8301126200035857600080fd5b603a6200036f62000369826200054d565b620004fc565b9150818360005b83811015620003aa57815186016200038f8882620003cb565b84526020840193506020830192505060018101905062000376565b5050505092915050565b600081519050620003c5816200063c565b92915050565b600082601f830112620003dd57600080fd5b8151620003f4620003ee8262000570565b620004fc565b915080825260208301602083018583830111156200041157600080fd5b6200041e838284620005ec565b50505092915050565b600080600061078084860312156200043e57600080fd5b60006200044e86828701620002b1565b93505060206200046186828701620002c8565b92505061076084015167ffffffffffffffff8111156200048057600080fd5b6200048e8682870162000346565b9150509250925092565b6000620004a7601c836200059d565b91507f4552433136353a20696e76616c696420696e74657266616365206964000000006000830152602082019050919050565b60006020820190508181036000830152620004f58162000498565b9050919050565b6000604051905081810181811067ffffffffffffffff821117156200052057600080fd5b8060405250919050565b600067ffffffffffffffff8211156200054257600080fd5b602082029050919050565b600067ffffffffffffffff8211156200056557600080fd5b602082029050919050565b600067ffffffffffffffff8211156200058857600080fd5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b6000620005bb82620005cc565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b838110156200060c578082015181840152602081019050620005ef565b838111156200061c576000848401525b50505050565b6200062d81620005ae565b81146200063957600080fd5b50565b6200064781620005c2565b81146200065357600080fd5b50565b60805160601c612eeb6200067e6000398061053752806109cf5280610c6c5250612eeb6000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c80634e1273f41161008c578063a22cb46511610066578063a22cb46514610235578063e985e9c514610251578063f242432a14610281578063fab03a551461029d576100ce565b80634e1273f4146101b95780635cfeed1a146101e9578063839f8ca314610219576100ce565b8062fdd58e146100d357806301ffc9a7146101035780630e89341c14610133578063156e29f6146101635780632eb2c2d61461017f57806334d722c91461019b575b600080fd5b6100ed60048036038101906100e89190611d44565b6102cd565b6040516100fa9190612b06565b60405180910390f35b61011d60048036038101906101189190611e64565b610397565b60405161012a91906128ae565b60405180910390f35b61014d60048036038101906101489190611eb6565b6103fe565b60405161015a91906128e4565b60405180910390f35b61017d60048036038101906101789190611d80565b610535565b005b61019960048036038101906101949190611bba565b610609565b005b6101a36109cd565b6040516101b09190612778565b60405180910390f35b6101d360048036038101906101ce9190611dcf565b6109f1565b6040516101e09190612855565b60405180910390f35b61020360048036038101906101fe9190611e3b565b610bba565b60405161021091906128e4565b60405180910390f35b610233600480360381019061022e9190611edf565b610c6a565b005b61024f600480360381019061024a9190611d08565b610d6c565b005b61026b60048036038101906102669190611b7e565b610eed565b60405161027891906128ae565b60405180910390f35b61029b60048036038101906102969190611c79565b610f81565b005b6102b760048036038101906102b29190611eb6565b6112c4565b6040516102c491906128c9565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561033e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033590612946565b60405180910390fd5b6001600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60606000600360006004600086815260200190815260200160002054815260200190815260200160002090506060818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104c15780601f10610496576101008083540402835291602001916104c1565b820191906000526020600020905b8154815290600101906020018083116104a457829003601f168201915b50505050509050600081511161050c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050390612ac6565b60405180910390fd5b8160405160200161051d9190612756565b60405160208183030381529060405292505050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ba90612a26565b60405180910390fd5b6106048383836040518060400160405280600381526020017f30783000000000000000000000000000000000000000000000000000000000008152506112dc565b505050565b815183511461064d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064490612a86565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156106bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b4906129c6565b60405180910390fd5b6106c56114c3565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061070b575061070a856107056114c3565b610eed565b5b61074a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610741906129e6565b60405180910390fd5b60006107546114c3565b90506107648187878787876114cb565b60008090505b845181101561093857600085828151811061078157fe5b60200260200101519050600085838151811061079957fe5b60200260200101519050610820816040518060600160405280602a8152602001612e8c602a91396001600086815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114d39092919063ffffffff16565b6001600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108d7816001600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152e90919063ffffffff16565b6001600084815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505080600101905061076a565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516109af929190612877565b60405180910390a46109c5818787878787611583565b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60608151835114610a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2e90612a66565b60405180910390fd5b6060835167ffffffffffffffff81118015610a5157600080fd5b50604051908082528060200260200182016040528015610a805781602001602082028036833780820191505090505b50905060008090505b8451811015610baf57600073ffffffffffffffffffffffffffffffffffffffff16858281518110610ab657fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415610b15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0c90612966565b60405180910390fd5b60016000858381518110610b2557fe5b602002602001015181526020019081526020016000206000868381518110610b4957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054828281518110610b9857fe5b602002602001018181525050806001019050610a89565b508091505092915050565b60036020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c625780601f10610c3757610100808354040283529160200191610c62565b820191906000526020600020905b815481529060010190602001808311610c4557829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef90612ae6565b60405180910390fd5b6000801b600460008481526020019081526020016000205414610d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4790612a06565b60405180910390fd5b8060046000848152602001908152602001600020819055505050565b8173ffffffffffffffffffffffffffffffffffffffff16610d8b6114c3565b73ffffffffffffffffffffffffffffffffffffffff161415610de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd990612a46565b60405180910390fd5b8060026000610def6114c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610e9c6114c3565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ee191906128ae565b60405180910390a35050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe8906129c6565b60405180910390fd5b610ff96114c3565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061103f575061103e856110396114c3565b610eed565b5b61107e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611075906129a6565b60405180910390fd5b60006110886114c3565b90506110a881878761109988611753565b6110a288611753565b876114cb565b611125836040518060600160405280602a8152602001612e8c602a91396001600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114d39092919063ffffffff16565b6001600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111dc836001600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152e90919063ffffffff16565b6001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6287876040516112a6929190612b21565b60405180910390a46112bc8187878787876117c3565b505050505050565b60046020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134390612aa6565b60405180910390fd5b60006113566114c3565b90506113778160008761136888611753565b61137188611753565b876114cb565b6113da836001600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152e90919063ffffffff16565b6001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6287876040516114a5929190612b21565b60405180910390a46114bc816000878787876117c3565b5050505050565b600033905090565b505050505050565b600083831115829061151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151291906128e4565b60405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157090612986565b60405180910390fd5b8091505092915050565b6115a28473ffffffffffffffffffffffffffffffffffffffff16611993565b1561174b578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016115e8959493929190612793565b602060405180830381600087803b15801561160257600080fd5b505af192505050801561163357506040513d601f19601f820116820180604052508101906116309190611e8d565b60015b6116c25761163f612d62565b8061164a5750611687565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167e91906128e4565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b990612906565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174090612926565b60405180910390fd5b505b505050505050565b606080600167ffffffffffffffff8111801561176e57600080fd5b5060405190808252806020026020018201604052801561179d5781602001602082028036833780820191505090505b50905082816000815181106117ae57fe5b60200260200101818152505080915050919050565b6117e28473ffffffffffffffffffffffffffffffffffffffff16611993565b1561198b578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016118289594939291906127fb565b602060405180830381600087803b15801561184257600080fd5b505af192505050801561187357506040513d601f19601f820116820180604052508101906118709190611e8d565b60015b6119025761187f612d62565b8061188a57506118c7565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be91906128e4565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f990612906565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198090612926565b60405180910390fd5b505b505050505050565b600080823b905060008111915050919050565b6000813590506119b581612e18565b92915050565b600082601f8301126119cc57600080fd5b81356119df6119da82612b77565b612b4a565b91508181835260208401935060208101905083856020840282011115611a0457600080fd5b60005b83811015611a345781611a1a88826119a6565b845260208401935060208301925050600181019050611a07565b5050505092915050565b600082601f830112611a4f57600080fd5b8135611a62611a5d82612b9f565b612b4a565b91508181835260208401935060208101905083856020840282011115611a8757600080fd5b60005b83811015611ab75781611a9d8882611b69565b845260208401935060208301925050600181019050611a8a565b5050505092915050565b600081359050611ad081612e2f565b92915050565b600081359050611ae581612e46565b92915050565b600081359050611afa81612e5d565b92915050565b600081519050611b0f81612e5d565b92915050565b600082601f830112611b2657600080fd5b8135611b39611b3482612bc7565b612b4a565b91508082526020830160208301858383011115611b5557600080fd5b611b60838284612d02565b50505092915050565b600081359050611b7881612e74565b92915050565b60008060408385031215611b9157600080fd5b6000611b9f858286016119a6565b9250506020611bb0858286016119a6565b9150509250929050565b600080600080600060a08688031215611bd257600080fd5b6000611be0888289016119a6565b9550506020611bf1888289016119a6565b945050604086013567ffffffffffffffff811115611c0e57600080fd5b611c1a88828901611a3e565b935050606086013567ffffffffffffffff811115611c3757600080fd5b611c4388828901611a3e565b925050608086013567ffffffffffffffff811115611c6057600080fd5b611c6c88828901611b15565b9150509295509295909350565b600080600080600060a08688031215611c9157600080fd5b6000611c9f888289016119a6565b9550506020611cb0888289016119a6565b9450506040611cc188828901611b69565b9350506060611cd288828901611b69565b925050608086013567ffffffffffffffff811115611cef57600080fd5b611cfb88828901611b15565b9150509295509295909350565b60008060408385031215611d1b57600080fd5b6000611d29858286016119a6565b9250506020611d3a85828601611ac1565b9150509250929050565b60008060408385031215611d5757600080fd5b6000611d65858286016119a6565b9250506020611d7685828601611b69565b9150509250929050565b600080600060608486031215611d9557600080fd5b6000611da3868287016119a6565b9350506020611db486828701611b69565b9250506040611dc586828701611b69565b9150509250925092565b60008060408385031215611de257600080fd5b600083013567ffffffffffffffff811115611dfc57600080fd5b611e08858286016119bb565b925050602083013567ffffffffffffffff811115611e2557600080fd5b611e3185828601611a3e565b9150509250929050565b600060208284031215611e4d57600080fd5b6000611e5b84828501611ad6565b91505092915050565b600060208284031215611e7657600080fd5b6000611e8484828501611aeb565b91505092915050565b600060208284031215611e9f57600080fd5b6000611ead84828501611b00565b91505092915050565b600060208284031215611ec857600080fd5b6000611ed684828501611b69565b91505092915050565b60008060408385031215611ef257600080fd5b6000611f0085828601611b69565b9250506020611f1185828601611ad6565b9150509250929050565b6000611f278383612738565b60208301905092915050565b611f3c81612c84565b82525050565b6000611f4d82612c18565b611f578185612c46565b9350611f6283612bf3565b8060005b83811015611f93578151611f7a8882611f1b565b9750611f8583612c39565b925050600181019050611f66565b5085935050505092915050565b611fa981612c96565b82525050565b611fb881612ca2565b82525050565b6000611fc982612c23565b611fd38185612c57565b9350611fe3818560208601612d11565b611fec81612d44565b840191505092915050565b600061200282612c2e565b61200c8185612c68565b935061201c818560208601612d11565b61202581612d44565b840191505092915050565b60008154600181166000811461204d5760018114612072576120b6565b607f600283041661205e8187612c79565b955060ff19831686528086019350506120b6565b600282046120808187612c79565b955061208b85612c03565b60005b828110156120ad5781548189015260018201915060208101905061208e565b82880195505050505b505092915050565b60006120cb603483612c68565b91507f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008301527f526563656976657220696d706c656d656e7465720000000000000000000000006020830152604082019050919050565b6000612131602883612c68565b91507f455243313135353a204552433131353552656365697665722072656a6563746560008301527f6420746f6b656e730000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612197602b83612c68565b91507f455243313135353a2062616c616e636520717565727920666f7220746865207a60008301527f65726f20616464726573730000000000000000000000000000000000000000006020830152604082019050919050565b60006121fd603183612c68565b91507f455243313135353a2062617463682062616c616e636520717565727920666f7260008301527f20746865207a65726f20616464726573730000000000000000000000000000006020830152604082019050919050565b6000612263601b83612c68565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006122a3602983612c68565b91507f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008301527f20617070726f76656400000000000000000000000000000000000000000000006020830152604082019050919050565b6000612309602583612c68565b91507f455243313135353a207472616e7366657220746f20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061236f603283612c68565b91507f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008301527f6f776e6572206e6f7220617070726f76656400000000000000000000000000006020830152604082019050919050565b60006123d5602683612c68565b91507f5065706556323a2063616e206f6e6c792073657420746f6b656e20494420736960008301527f67206f6e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061243b600c83612c79565b91507f697066733a2f2f697066732f00000000000000000000000000000000000000006000830152600c82019050919050565b600061247b602983612c68565b91507f5065706556323a2043616e206f6e6c79206d696e742066726f6d206d696e746560008301527f72206164647265737300000000000000000000000000000000000000000000006020830152604082019050919050565b60006124e1602983612c68565b91507f455243313135353a2073657474696e6720617070726f76616c2073746174757360008301527f20666f722073656c6600000000000000000000000000000000000000000000006020830152604082019050919050565b6000612547602983612c68565b91507f455243313135353a206163636f756e747320616e6420696473206c656e67746860008301527f206d69736d6174636800000000000000000000000000000000000000000000006020830152604082019050919050565b60006125ad602883612c68565b91507f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008301527f6d69736d617463680000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612613602183612c68565b91507f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612679602f83612c68565b91507f5065706556323a2043616e206f6e6c792072657475726e2055524920666f722060008301527f6b6e6f776e20746f6b656e2049447300000000000000000000000000000000006020830152604082019050919050565b60006126df603183612c68565b91507f5065706556323a2043616e206f6e6c792073657420746f6b656e20494420667260008301527f6f6d206d696e74657220616464726573730000000000000000000000000000006020830152604082019050919050565b61274181612cf8565b82525050565b61275081612cf8565b82525050565b60006127618261242e565b915061276d8284612030565b915081905092915050565b600060208201905061278d6000830184611f33565b92915050565b600060a0820190506127a86000830188611f33565b6127b56020830187611f33565b81810360408301526127c78186611f42565b905081810360608301526127db8185611f42565b905081810360808301526127ef8184611fbe565b90509695505050505050565b600060a0820190506128106000830188611f33565b61281d6020830187611f33565b61282a6040830186612747565b6128376060830185612747565b81810360808301526128498184611fbe565b90509695505050505050565b6000602082019050818103600083015261286f8184611f42565b905092915050565b600060408201905081810360008301526128918185611f42565b905081810360208301526128a58184611f42565b90509392505050565b60006020820190506128c36000830184611fa0565b92915050565b60006020820190506128de6000830184611faf565b92915050565b600060208201905081810360008301526128fe8184611ff7565b905092915050565b6000602082019050818103600083015261291f816120be565b9050919050565b6000602082019050818103600083015261293f81612124565b9050919050565b6000602082019050818103600083015261295f8161218a565b9050919050565b6000602082019050818103600083015261297f816121f0565b9050919050565b6000602082019050818103600083015261299f81612256565b9050919050565b600060208201905081810360008301526129bf81612296565b9050919050565b600060208201905081810360008301526129df816122fc565b9050919050565b600060208201905081810360008301526129ff81612362565b9050919050565b60006020820190508181036000830152612a1f816123c8565b9050919050565b60006020820190508181036000830152612a3f8161246e565b9050919050565b60006020820190508181036000830152612a5f816124d4565b9050919050565b60006020820190508181036000830152612a7f8161253a565b9050919050565b60006020820190508181036000830152612a9f816125a0565b9050919050565b60006020820190508181036000830152612abf81612606565b9050919050565b60006020820190508181036000830152612adf8161266c565b9050919050565b60006020820190508181036000830152612aff816126d2565b9050919050565b6000602082019050612b1b6000830184612747565b92915050565b6000604082019050612b366000830185612747565b612b436020830184612747565b9392505050565b6000604051905081810181811067ffffffffffffffff82111715612b6d57600080fd5b8060405250919050565b600067ffffffffffffffff821115612b8e57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115612bb657600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115612bde57600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000612c8f82612cd8565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612d2f578082015181840152602081019050612d14565b83811115612d3e576000848401525b50505050565b6000601f19601f8301169050919050565b60008160e01c9050919050565b600060443d1015612d7257612e15565b60046000803e612d83600051612d55565b6308c379a08114612d945750612e15565b60405160043d036004823e80513d602482011167ffffffffffffffff82111715612dc057505050612e15565b808201805167ffffffffffffffff811115612ddf575050505050612e15565b8060208301013d8501811115612dfa57505050505050612e15565b612e0382612d44565b60208401016040528296505050505050505b90565b612e2181612c84565b8114612e2c57600080fd5b50565b612e3881612c96565b8114612e4357600080fd5b50565b612e4f81612ca2565b8114612e5a57600080fd5b50565b612e6681612cac565b8114612e7157600080fd5b50565b612e7d81612cf8565b8114612e8857600080fd5b5056fe455243313135353a20696e73756666696369656e742062616c616e636520666f72207472616e73666572a26469706673582212200244ed7ad35b76642cde18eaae5783393d8fea05daba6d86ef2f209c0938548764736f6c634300060b0033000000000000000000000000d947d16ca291c4d444293da56332820bd8e32a8191781647437c48bc328f25d4c47b6f24cf8a46ab1b0f3c63704f9705178c0b5d2fde0bc20c20a82166355cf1b6b78d01a4411d4794703642b04d3ec0232548cafa61d833ca2c8fc6f23aabbc18a23eef4e6313bc47446ecb06dbb148eefe349a7f43c4e20a98081432b88599fcdbf9e2d8a3b7093515a473f828190a2d82e0454fc4fd5e45256c6074fcfa6705c9f8f17cca4fbc2e334c238a245edecc09fabf10c7871c5794b23562937b3b10abe535d5164acfee07d8109aec4af7bdd09d847a6f424e3883f69688aa191a08e0f8b03a2da963afe6a080337ee476b9c3589e05788e5a6fae013209599b7899cfc89f5559641feb121b7a3e6cc3be2daf406889bb1be1fb0ea747de9e02f21ed76c98a2c1a83775fc0fd9acc0d5e302d2b1acaf63a02c558a3f5b3dda2a040b0bdc78b8ab0e36b58eba524b3d29c04a34583bd8b90b8c24e203c4c18e162b98d52ba01155af03e8d20a612e8aec24f14c4fc66a5ce53aa652306b139b77b3a0de38c6b1cd0e43383d6bdafc8f4a063527feb4ba563cc12e6ca57a4041b3959367cb0b09924cd19646031fe44678b675e769b07b08aa4b59c690330631aadebb59d83fe8a66b97766920de16ac45910c6ba7334ef7c56f860c0a7edb918c2cd692594ca391b747fbc2d2ec340d32511aaffefcbd4d181cccd9ec7f70ef63d02a93f26765a790d8fee03b7ee682792e5cbf78b420c83c5b460e76df8591c89528c04d009ba45a2d59197f350c74953295f6c109cccc4d6e704b77395b9ee4108631d2af41d1e8336c1242dc850333d1a18a978fc99f67bd53dd2fb621858f780bdec8fe5793b20fc60f9a3df110b6d577fc01cfba7469ba4efe2078a7cdae47444109b741678232a2ac9cb030f9bd39febb17da3a39c5f35b3c05614cdf99eb7884e76ee362c521a5f41f6b56ce95e4f3b5ff8ba431e8bd585950fb846d762b7dfdceb2827437d8afef1246bf92d272b63429775235eecbec0bdb8e08f664c5c5867b5193aece7577f35bb555f68834f9ea12ef76f941a558c7330b19b557295d4eb56e38e5034b154918c08544137181348a86a8bc86c65d45cbeb818518a64ce67f7ab0d7a549c6a688f63a77a8801b706fd006b6647fa668273ccbe34bae1de5821e6a20b80debb76a0a39a226d28980086cdcbcb0d85c03db6b855e425fcb219f6435a041487939babb56a25a46afc56000bdf6b4167de60f9da3fcaa3e08c249b92332b3ad33bd18e5365dbd4059e5bb90752663a7c5b0ad285ea894a9ec02fb859edf82c6541e48f1315d790f3bd4060f981a9a95f89ceb15741ce20f3555954ac88333e6ce234a7e10043404d66207ddaa65e74b4ab9c5f584424388b01667de681ecd17e87ca845a4665af0ae889c9217b638bef6634122c117e1e809da4e3d8ea63c7cd7c067a22ab3e53b8bbfb02eee214c4156637a9ac7a99dc94fafc0978eb38c3f8f7a3ab24bc30dc1455ef0145c4361352ef0e6f52fa68a81d4dec8a5383ac050147239e148262448fc53bc468e87826417dbc05d8717bc1c33f7b45467ea5bf3111c1948f08abadd54da02dda5c2c13fdae9afe4d4d3287011e4cb1495700b964bd4f398f94abc24ba4440f23cc32745d9519f6002514e2318064f6f91733f2405c1662c1eb4677a005b4815bfc3301d66b05a4068f9e0ec421cc95a435a7d91134734e054c57ec160ad6dd1f8639f8c3965bdb24379a5312d3c51ad066102edc783e995ad39236672336b577f087b38c7ddfcc6ace3f26c842c9536f36190096b1e096d45d5ed9160fbcf8216099ffb7064e269abf6a27a03b1b1b1108891c08709f206df2c970dd67f7a8f1d362c64c86cb4ba4a27a60d6994077d83928cb7aefb9e353feec6068da7fda701465b5a079a742e66ef3e6184ef6d125eaa1de8201339cf32503c32ac1624e8d369cbd71ed5f8ee9f74920172160f28d9907376c6280121335ad8326dc3d403af6dc202fd533e92b80e5b6e0c105823b497da2fdc8b73483ef47116878ad69df328c5631465dd8a8a13942eb8e05512b3c8a5b05ffc97dc56014dad8bdfb5e4c1d2a5425b13b8295fe144f95aa09997f7d2d37017899077e48dd2d6bb9d0f71faf2d410fdc8ed22ed8f47ac86cb26a6656d734a405b4e91646e7e0624f6bc24870b6a4bf32371f7feb8cd414204f8e09c99d6f51782560aa2f01ea1c9728236aef351c8e8b940e546173bd05197f6dae08df962e82fcdcd8368584426f089883181d4b9b8648f4d4163080398aab0f58744586db2f92b24c9917b74a8f7ece729ee41a8f854e8cdd08ae4040debd3d9484ba045b407d058cabf196a44b96b95fb8ef8b25c4709925b9e1a81557e68cf11bb2eeae0cea89a9465c0e8983758c3e5a3d531c74028e0697d0a811b10cd7b37ab83138f49c24c40a881cee34b281f5c5c4b08f2ab2850bf37df9c86509f5458da80dc41020da10bf2f0e0a47d1ad4fdace08abdccfb2ab62a6f0fd964bc1e51419ae4df69f473f2ed2738d828044372eadf7aea2df67c83e46c487721e40e9f7f268da7b9b48d24a5e046f888ce4ae25bf6639bb98ae53654cf0d389b756304f917b948ce28218cb14916a79db6e70000000000000000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000000000000000074000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000008c00000000000000000000000000000000000000000000000000000000000000920000000000000000000000000000000000000000000000000000000000000098000000000000000000000000000000000000000000000000000000000000009e00000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000b600000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000d400000000000000000000000000000000000000000000000000000000000000da00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000e600000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000f800000000000000000000000000000000000000000000000000000000000000fe0000000000000000000000000000000000000000000000000000000000000104000000000000000000000000000000000000000000000000000000000000010a00000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000116000000000000000000000000000000000000000000000000000000000000011c00000000000000000000000000000000000000000000000000000000000001220000000000000000000000000000000000000000000000000000000000000128000000000000000000000000000000000000000000000000000000000000012e0000000000000000000000000000000000000000000000000000000000000134000000000000000000000000000000000000000000000000000000000000013a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000014c00000000000000000000000000000000000000000000000000000000000001520000000000000000000000000000000000000000000000000000000000000158000000000000000000000000000000000000000000000000000000000000015e0000000000000000000000000000000000000000000000000000000000000164000000000000000000000000000000000000000000000000000000000000016a00000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000176000000000000000000000000000000000000000000000000000000000000017c00000000000000000000000000000000000000000000000000000000000001820000000000000000000000000000000000000000000000000000000000000188000000000000000000000000000000000000000000000000000000000000018e0000000000000000000000000000000000000000000000000000000000000194000000000000000000000000000000000000000000000000000000000000019a00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a600000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001b200000000000000000000000000000000000000000000000000000000000001b800000000000000000000000000000000000000000000000000000000000001be00000000000000000000000000000000000000000000000000000000000001c400000000000000000000000000000000000000000000000000000000000001ca0000000000000000000000000000000000000000000000000000000000000002e516d567077655236344b653550397a564c52626f574d70447a547046654e76656f70564b4763354e6f5354465965000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d55546f43595265537356414e7a56514548624a65526b5a4e5a71684a48675a524e53376e3936384b53475451000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5854674744695a416e53793751696f726153543873646f4566564c4733623866794a35487a667542796e5853000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d575a63467431746f4848334852776b4853564654706e4850745a6b6d31314739596175353133375741673565000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d586b7957596b466d7a54566245464d6a6b7a45746e6e6464584b6d6b566e5066736e4b67774535546b4a4b36000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d63737271753843726865537a354c557243326d6b5839454851734372487446435036384c7442744568486e4c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5a6d733657317731524e54677452463435484b524769564a6f5343744d326b715073456553586d6a65525771000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d50546d4e3463715a533256773753454c425a62326a67777536583343455453334b7a5158784b7a3335617a66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d614341555237365445336d51347659556657567376455977324e703168664371626f4555463437464458587a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d637a37335a31483677695247556e474e5844756f724c5051414b78464d417279323244685a506178354a7932000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d646a7a653947674d4a4457476341326d73656e4e535a464b3677796b484e6847696336314e71337334767969000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d616f6e47644d70647531676863585141336948476e6f4334744477506932563956566e6468545847615a6861000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d4e4e624b4a5061344634426963485043484139386e5a784243415357314331347231764a776d425951654162000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d584d6642734d544d4c6577364d5a6137653955525373707479565468705532514271356878596e7041767136000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d4e6665675a516b377347536438314354414d6e4c77583573757936504c337046434a39416d70624d6e594777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d62703839734a4e6e657356347677756e664562623832325877435239476d6b4c6f55756f57456d585a59774b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d57555746487643384c4b737148584653327a4e62376b767778727177423264524a525a726950774d724c7531000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d55374d477963426f53595a54675568525633546b6744776352715438466b397055713767416d6a59667a3831000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d623176625656596e4659566143564b7635336437634a516d4a7148756d35737942786d454773777555515953000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d624575645957656a33737554325079443948704672686661566a33707148616246534842414d4b4e63464344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d523673717578693267616267386f63444b553467785567546138444573657776384452465354476938414264000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d6275684a4837324a4644393637546d67684e46706a71467958766d3235716b326e5868396859476754723464000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d526d754a434d447a684371436a72767a7968796b416b3446786b48794c46517a58645979374737794e433631000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d58577466454b655967706e586e63666572435564734851557a5a5231726b6931326e76415069753352613837000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5042416e53696d4d673662705a715070764c434e66484d7339506f756257557141547331726b35664e66636f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d59734c5279466165323337425338736e4d6e54424e61387475483962674d6b6f69746b727238435166514243000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d526143664b744e6663505865316378596e6577384c61413555675138354c655045785454476275734d766231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d56486b64437a39344c567733456a7478433856426b33624a5943415443573658696859386867754d3177554a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d6539564d785a504462777441697672687739794d37346a667a4375526f5a3745553636533241736d45616762000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5644316a5157585833417445673945446d44747877683954544e5268423156737331724b37354752686b7775000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d525a6b54654a524c4b7a31365844656b555a4a693748503168454d5179645a65734b4d313846777a4a653751000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d634e5135317350445a7436676f344a5a556339566166627a617064744872467a57414c6765775832657a3267000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d516732627576364b4350666f577043506667334c54356e716948756244375a6d6e6b77506b38324a6d417166000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5945675650616e586f5a596e4c67514a6672393174447a4c446e787a6d484e584c33527a6947666f5835317a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d535970614442506b4a5a71796736776634736e6e56673765374333574672616b755a4d775a5137684c546f55000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d56346a6337575a6f433555324e3163776f5573453177707570524265435546593959767a4466503369353969000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d58394161467272334e6f3272775a6243765558474a6248367365376a46696f7058354c513159374762485159000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5961684272436b7977364a4a444a48484d59506457367a6e62764539517270324737696d7676737367324c78000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d506b3159654d514a586750317167577335314547576565736d64397a4557797233484c64786b50366f767278000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5744666d767844316542384b763864744d5853505443504566465945686e51535837456966746d69424c5168000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5272517233586b71644e336f664257686469684c3431646b516675504d35386b447a5069555174585a583351000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d554e673633776b36696265697277555472754437544d523642666a444b483374473941503344355239736f33000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d634d714a50365269584369696d58716935376778374a7a554a3670576456686a78454d6d5354487865737662000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d64455a575368505a4d34563834763664446d376a716531584b354b3674435761646a5a6a333766336e596376000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d65685141427375324a4866455573474542637743417172467a3170587968717a423872687672745655773645000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d594543686e37703367417932775a6f5246786450333863373975514d78685469693958743446577647577446000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d655a71616b6b624e746f556a6f585a6a6d377369744b666b6944794c7274313264587a564535423539615239000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d565478566b35373757526a4c437a75653244583969697541444d6d3973384439446655433834766b61787358000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d627a6a6b414c396473573867704639643845354835707171786b467133755a3765705763437744716e51756b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d6347365a4b696e436859577a4577767976337374735363793864536555755942525832445750336978677967000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d59333243646b51446f5962663842586351364a696e41746a6a527979546651643131774d4e6364445a694846000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d6545656d4c6b44516d6d44543755466474707270584b6e79416f655479794d466a4e633658457233765a5367000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d624e6a7463576863447167617676504c56716f70416b6a3861483173435338656e5470346d39416e33515946000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5a4d4752344e373477346b4c786d5933476746645271614a51474d46396b353178757a734d67376463696434000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d56596453565668676b4a434d32535166754c584e617935625854416977546b4459615a314d4c38595a4b3838000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d585a697a466872586e4d37426e45367158763237784e70474135777461445463734456586958447968334255000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d504478774d74676f556450746f76564c56434c527a434b373172545277394666504a43526b526b6a6e4b3332000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5377436d33377573596e327a4a487669744141563979446d4138575179673737764155767a794d39524b4255000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ce5760003560e01c80634e1273f41161008c578063a22cb46511610066578063a22cb46514610235578063e985e9c514610251578063f242432a14610281578063fab03a551461029d576100ce565b80634e1273f4146101b95780635cfeed1a146101e9578063839f8ca314610219576100ce565b8062fdd58e146100d357806301ffc9a7146101035780630e89341c14610133578063156e29f6146101635780632eb2c2d61461017f57806334d722c91461019b575b600080fd5b6100ed60048036038101906100e89190611d44565b6102cd565b6040516100fa9190612b06565b60405180910390f35b61011d60048036038101906101189190611e64565b610397565b60405161012a91906128ae565b60405180910390f35b61014d60048036038101906101489190611eb6565b6103fe565b60405161015a91906128e4565b60405180910390f35b61017d60048036038101906101789190611d80565b610535565b005b61019960048036038101906101949190611bba565b610609565b005b6101a36109cd565b6040516101b09190612778565b60405180910390f35b6101d360048036038101906101ce9190611dcf565b6109f1565b6040516101e09190612855565b60405180910390f35b61020360048036038101906101fe9190611e3b565b610bba565b60405161021091906128e4565b60405180910390f35b610233600480360381019061022e9190611edf565b610c6a565b005b61024f600480360381019061024a9190611d08565b610d6c565b005b61026b60048036038101906102669190611b7e565b610eed565b60405161027891906128ae565b60405180910390f35b61029b60048036038101906102969190611c79565b610f81565b005b6102b760048036038101906102b29190611eb6565b6112c4565b6040516102c491906128c9565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561033e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033590612946565b60405180910390fd5b6001600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60606000600360006004600086815260200190815260200160002054815260200190815260200160002090506060818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104c15780601f10610496576101008083540402835291602001916104c1565b820191906000526020600020905b8154815290600101906020018083116104a457829003601f168201915b50505050509050600081511161050c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050390612ac6565b60405180910390fd5b8160405160200161051d9190612756565b60405160208183030381529060405292505050919050565b7f000000000000000000000000d947d16ca291c4d444293da56332820bd8e32a8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ba90612a26565b60405180910390fd5b6106048383836040518060400160405280600381526020017f30783000000000000000000000000000000000000000000000000000000000008152506112dc565b505050565b815183511461064d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064490612a86565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156106bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b4906129c6565b60405180910390fd5b6106c56114c3565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061070b575061070a856107056114c3565b610eed565b5b61074a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610741906129e6565b60405180910390fd5b60006107546114c3565b90506107648187878787876114cb565b60008090505b845181101561093857600085828151811061078157fe5b60200260200101519050600085838151811061079957fe5b60200260200101519050610820816040518060600160405280602a8152602001612e8c602a91396001600086815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114d39092919063ffffffff16565b6001600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108d7816001600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152e90919063ffffffff16565b6001600084815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505080600101905061076a565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516109af929190612877565b60405180910390a46109c5818787878787611583565b505050505050565b7f000000000000000000000000d947d16ca291c4d444293da56332820bd8e32a8181565b60608151835114610a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2e90612a66565b60405180910390fd5b6060835167ffffffffffffffff81118015610a5157600080fd5b50604051908082528060200260200182016040528015610a805781602001602082028036833780820191505090505b50905060008090505b8451811015610baf57600073ffffffffffffffffffffffffffffffffffffffff16858281518110610ab657fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415610b15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0c90612966565b60405180910390fd5b60016000858381518110610b2557fe5b602002602001015181526020019081526020016000206000868381518110610b4957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054828281518110610b9857fe5b602002602001018181525050806001019050610a89565b508091505092915050565b60036020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c625780601f10610c3757610100808354040283529160200191610c62565b820191906000526020600020905b815481529060010190602001808311610c4557829003601f168201915b505050505081565b7f000000000000000000000000d947d16ca291c4d444293da56332820bd8e32a8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef90612ae6565b60405180910390fd5b6000801b600460008481526020019081526020016000205414610d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4790612a06565b60405180910390fd5b8060046000848152602001908152602001600020819055505050565b8173ffffffffffffffffffffffffffffffffffffffff16610d8b6114c3565b73ffffffffffffffffffffffffffffffffffffffff161415610de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd990612a46565b60405180910390fd5b8060026000610def6114c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610e9c6114c3565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ee191906128ae565b60405180910390a35050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe8906129c6565b60405180910390fd5b610ff96114c3565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061103f575061103e856110396114c3565b610eed565b5b61107e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611075906129a6565b60405180910390fd5b60006110886114c3565b90506110a881878761109988611753565b6110a288611753565b876114cb565b611125836040518060600160405280602a8152602001612e8c602a91396001600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114d39092919063ffffffff16565b6001600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111dc836001600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152e90919063ffffffff16565b6001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6287876040516112a6929190612b21565b60405180910390a46112bc8187878787876117c3565b505050505050565b60046020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134390612aa6565b60405180910390fd5b60006113566114c3565b90506113778160008761136888611753565b61137188611753565b876114cb565b6113da836001600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152e90919063ffffffff16565b6001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6287876040516114a5929190612b21565b60405180910390a46114bc816000878787876117c3565b5050505050565b600033905090565b505050505050565b600083831115829061151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151291906128e4565b60405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157090612986565b60405180910390fd5b8091505092915050565b6115a28473ffffffffffffffffffffffffffffffffffffffff16611993565b1561174b578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016115e8959493929190612793565b602060405180830381600087803b15801561160257600080fd5b505af192505050801561163357506040513d601f19601f820116820180604052508101906116309190611e8d565b60015b6116c25761163f612d62565b8061164a5750611687565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167e91906128e4565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b990612906565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174090612926565b60405180910390fd5b505b505050505050565b606080600167ffffffffffffffff8111801561176e57600080fd5b5060405190808252806020026020018201604052801561179d5781602001602082028036833780820191505090505b50905082816000815181106117ae57fe5b60200260200101818152505080915050919050565b6117e28473ffffffffffffffffffffffffffffffffffffffff16611993565b1561198b578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016118289594939291906127fb565b602060405180830381600087803b15801561184257600080fd5b505af192505050801561187357506040513d601f19601f820116820180604052508101906118709190611e8d565b60015b6119025761187f612d62565b8061188a57506118c7565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be91906128e4565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f990612906565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198090612926565b60405180910390fd5b505b505050505050565b600080823b905060008111915050919050565b6000813590506119b581612e18565b92915050565b600082601f8301126119cc57600080fd5b81356119df6119da82612b77565b612b4a565b91508181835260208401935060208101905083856020840282011115611a0457600080fd5b60005b83811015611a345781611a1a88826119a6565b845260208401935060208301925050600181019050611a07565b5050505092915050565b600082601f830112611a4f57600080fd5b8135611a62611a5d82612b9f565b612b4a565b91508181835260208401935060208101905083856020840282011115611a8757600080fd5b60005b83811015611ab75781611a9d8882611b69565b845260208401935060208301925050600181019050611a8a565b5050505092915050565b600081359050611ad081612e2f565b92915050565b600081359050611ae581612e46565b92915050565b600081359050611afa81612e5d565b92915050565b600081519050611b0f81612e5d565b92915050565b600082601f830112611b2657600080fd5b8135611b39611b3482612bc7565b612b4a565b91508082526020830160208301858383011115611b5557600080fd5b611b60838284612d02565b50505092915050565b600081359050611b7881612e74565b92915050565b60008060408385031215611b9157600080fd5b6000611b9f858286016119a6565b9250506020611bb0858286016119a6565b9150509250929050565b600080600080600060a08688031215611bd257600080fd5b6000611be0888289016119a6565b9550506020611bf1888289016119a6565b945050604086013567ffffffffffffffff811115611c0e57600080fd5b611c1a88828901611a3e565b935050606086013567ffffffffffffffff811115611c3757600080fd5b611c4388828901611a3e565b925050608086013567ffffffffffffffff811115611c6057600080fd5b611c6c88828901611b15565b9150509295509295909350565b600080600080600060a08688031215611c9157600080fd5b6000611c9f888289016119a6565b9550506020611cb0888289016119a6565b9450506040611cc188828901611b69565b9350506060611cd288828901611b69565b925050608086013567ffffffffffffffff811115611cef57600080fd5b611cfb88828901611b15565b9150509295509295909350565b60008060408385031215611d1b57600080fd5b6000611d29858286016119a6565b9250506020611d3a85828601611ac1565b9150509250929050565b60008060408385031215611d5757600080fd5b6000611d65858286016119a6565b9250506020611d7685828601611b69565b9150509250929050565b600080600060608486031215611d9557600080fd5b6000611da3868287016119a6565b9350506020611db486828701611b69565b9250506040611dc586828701611b69565b9150509250925092565b60008060408385031215611de257600080fd5b600083013567ffffffffffffffff811115611dfc57600080fd5b611e08858286016119bb565b925050602083013567ffffffffffffffff811115611e2557600080fd5b611e3185828601611a3e565b9150509250929050565b600060208284031215611e4d57600080fd5b6000611e5b84828501611ad6565b91505092915050565b600060208284031215611e7657600080fd5b6000611e8484828501611aeb565b91505092915050565b600060208284031215611e9f57600080fd5b6000611ead84828501611b00565b91505092915050565b600060208284031215611ec857600080fd5b6000611ed684828501611b69565b91505092915050565b60008060408385031215611ef257600080fd5b6000611f0085828601611b69565b9250506020611f1185828601611ad6565b9150509250929050565b6000611f278383612738565b60208301905092915050565b611f3c81612c84565b82525050565b6000611f4d82612c18565b611f578185612c46565b9350611f6283612bf3565b8060005b83811015611f93578151611f7a8882611f1b565b9750611f8583612c39565b925050600181019050611f66565b5085935050505092915050565b611fa981612c96565b82525050565b611fb881612ca2565b82525050565b6000611fc982612c23565b611fd38185612c57565b9350611fe3818560208601612d11565b611fec81612d44565b840191505092915050565b600061200282612c2e565b61200c8185612c68565b935061201c818560208601612d11565b61202581612d44565b840191505092915050565b60008154600181166000811461204d5760018114612072576120b6565b607f600283041661205e8187612c79565b955060ff19831686528086019350506120b6565b600282046120808187612c79565b955061208b85612c03565b60005b828110156120ad5781548189015260018201915060208101905061208e565b82880195505050505b505092915050565b60006120cb603483612c68565b91507f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008301527f526563656976657220696d706c656d656e7465720000000000000000000000006020830152604082019050919050565b6000612131602883612c68565b91507f455243313135353a204552433131353552656365697665722072656a6563746560008301527f6420746f6b656e730000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612197602b83612c68565b91507f455243313135353a2062616c616e636520717565727920666f7220746865207a60008301527f65726f20616464726573730000000000000000000000000000000000000000006020830152604082019050919050565b60006121fd603183612c68565b91507f455243313135353a2062617463682062616c616e636520717565727920666f7260008301527f20746865207a65726f20616464726573730000000000000000000000000000006020830152604082019050919050565b6000612263601b83612c68565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006122a3602983612c68565b91507f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008301527f20617070726f76656400000000000000000000000000000000000000000000006020830152604082019050919050565b6000612309602583612c68565b91507f455243313135353a207472616e7366657220746f20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061236f603283612c68565b91507f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008301527f6f776e6572206e6f7220617070726f76656400000000000000000000000000006020830152604082019050919050565b60006123d5602683612c68565b91507f5065706556323a2063616e206f6e6c792073657420746f6b656e20494420736960008301527f67206f6e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061243b600c83612c79565b91507f697066733a2f2f697066732f00000000000000000000000000000000000000006000830152600c82019050919050565b600061247b602983612c68565b91507f5065706556323a2043616e206f6e6c79206d696e742066726f6d206d696e746560008301527f72206164647265737300000000000000000000000000000000000000000000006020830152604082019050919050565b60006124e1602983612c68565b91507f455243313135353a2073657474696e6720617070726f76616c2073746174757360008301527f20666f722073656c6600000000000000000000000000000000000000000000006020830152604082019050919050565b6000612547602983612c68565b91507f455243313135353a206163636f756e747320616e6420696473206c656e67746860008301527f206d69736d6174636800000000000000000000000000000000000000000000006020830152604082019050919050565b60006125ad602883612c68565b91507f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008301527f6d69736d617463680000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612613602183612c68565b91507f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612679602f83612c68565b91507f5065706556323a2043616e206f6e6c792072657475726e2055524920666f722060008301527f6b6e6f776e20746f6b656e2049447300000000000000000000000000000000006020830152604082019050919050565b60006126df603183612c68565b91507f5065706556323a2043616e206f6e6c792073657420746f6b656e20494420667260008301527f6f6d206d696e74657220616464726573730000000000000000000000000000006020830152604082019050919050565b61274181612cf8565b82525050565b61275081612cf8565b82525050565b60006127618261242e565b915061276d8284612030565b915081905092915050565b600060208201905061278d6000830184611f33565b92915050565b600060a0820190506127a86000830188611f33565b6127b56020830187611f33565b81810360408301526127c78186611f42565b905081810360608301526127db8185611f42565b905081810360808301526127ef8184611fbe565b90509695505050505050565b600060a0820190506128106000830188611f33565b61281d6020830187611f33565b61282a6040830186612747565b6128376060830185612747565b81810360808301526128498184611fbe565b90509695505050505050565b6000602082019050818103600083015261286f8184611f42565b905092915050565b600060408201905081810360008301526128918185611f42565b905081810360208301526128a58184611f42565b90509392505050565b60006020820190506128c36000830184611fa0565b92915050565b60006020820190506128de6000830184611faf565b92915050565b600060208201905081810360008301526128fe8184611ff7565b905092915050565b6000602082019050818103600083015261291f816120be565b9050919050565b6000602082019050818103600083015261293f81612124565b9050919050565b6000602082019050818103600083015261295f8161218a565b9050919050565b6000602082019050818103600083015261297f816121f0565b9050919050565b6000602082019050818103600083015261299f81612256565b9050919050565b600060208201905081810360008301526129bf81612296565b9050919050565b600060208201905081810360008301526129df816122fc565b9050919050565b600060208201905081810360008301526129ff81612362565b9050919050565b60006020820190508181036000830152612a1f816123c8565b9050919050565b60006020820190508181036000830152612a3f8161246e565b9050919050565b60006020820190508181036000830152612a5f816124d4565b9050919050565b60006020820190508181036000830152612a7f8161253a565b9050919050565b60006020820190508181036000830152612a9f816125a0565b9050919050565b60006020820190508181036000830152612abf81612606565b9050919050565b60006020820190508181036000830152612adf8161266c565b9050919050565b60006020820190508181036000830152612aff816126d2565b9050919050565b6000602082019050612b1b6000830184612747565b92915050565b6000604082019050612b366000830185612747565b612b436020830184612747565b9392505050565b6000604051905081810181811067ffffffffffffffff82111715612b6d57600080fd5b8060405250919050565b600067ffffffffffffffff821115612b8e57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115612bb657600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115612bde57600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000612c8f82612cd8565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612d2f578082015181840152602081019050612d14565b83811115612d3e576000848401525b50505050565b6000601f19601f8301169050919050565b60008160e01c9050919050565b600060443d1015612d7257612e15565b60046000803e612d83600051612d55565b6308c379a08114612d945750612e15565b60405160043d036004823e80513d602482011167ffffffffffffffff82111715612dc057505050612e15565b808201805167ffffffffffffffff811115612ddf575050505050612e15565b8060208301013d8501811115612dfa57505050505050612e15565b612e0382612d44565b60208401016040528296505050505050505b90565b612e2181612c84565b8114612e2c57600080fd5b50565b612e3881612c96565b8114612e4357600080fd5b50565b612e4f81612ca2565b8114612e5a57600080fd5b50565b612e6681612cac565b8114612e7157600080fd5b50565b612e7d81612cf8565b8114612e8857600080fd5b5056fe455243313135353a20696e73756666696369656e742062616c616e636520666f72207472616e73666572a26469706673582212200244ed7ad35b76642cde18eaae5783393d8fea05daba6d86ef2f209c0938548764736f6c634300060b0033

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

000000000000000000000000d947d16ca291c4d444293da56332820bd8e32a8191781647437c48bc328f25d4c47b6f24cf8a46ab1b0f3c63704f9705178c0b5d2fde0bc20c20a82166355cf1b6b78d01a4411d4794703642b04d3ec0232548cafa61d833ca2c8fc6f23aabbc18a23eef4e6313bc47446ecb06dbb148eefe349a7f43c4e20a98081432b88599fcdbf9e2d8a3b7093515a473f828190a2d82e0454fc4fd5e45256c6074fcfa6705c9f8f17cca4fbc2e334c238a245edecc09fabf10c7871c5794b23562937b3b10abe535d5164acfee07d8109aec4af7bdd09d847a6f424e3883f69688aa191a08e0f8b03a2da963afe6a080337ee476b9c3589e05788e5a6fae013209599b7899cfc89f5559641feb121b7a3e6cc3be2daf406889bb1be1fb0ea747de9e02f21ed76c98a2c1a83775fc0fd9acc0d5e302d2b1acaf63a02c558a3f5b3dda2a040b0bdc78b8ab0e36b58eba524b3d29c04a34583bd8b90b8c24e203c4c18e162b98d52ba01155af03e8d20a612e8aec24f14c4fc66a5ce53aa652306b139b77b3a0de38c6b1cd0e43383d6bdafc8f4a063527feb4ba563cc12e6ca57a4041b3959367cb0b09924cd19646031fe44678b675e769b07b08aa4b59c690330631aadebb59d83fe8a66b97766920de16ac45910c6ba7334ef7c56f860c0a7edb918c2cd692594ca391b747fbc2d2ec340d32511aaffefcbd4d181cccd9ec7f70ef63d02a93f26765a790d8fee03b7ee682792e5cbf78b420c83c5b460e76df8591c89528c04d009ba45a2d59197f350c74953295f6c109cccc4d6e704b77395b9ee4108631d2af41d1e8336c1242dc850333d1a18a978fc99f67bd53dd2fb621858f780bdec8fe5793b20fc60f9a3df110b6d577fc01cfba7469ba4efe2078a7cdae47444109b741678232a2ac9cb030f9bd39febb17da3a39c5f35b3c05614cdf99eb7884e76ee362c521a5f41f6b56ce95e4f3b5ff8ba431e8bd585950fb846d762b7dfdceb2827437d8afef1246bf92d272b63429775235eecbec0bdb8e08f664c5c5867b5193aece7577f35bb555f68834f9ea12ef76f941a558c7330b19b557295d4eb56e38e5034b154918c08544137181348a86a8bc86c65d45cbeb818518a64ce67f7ab0d7a549c6a688f63a77a8801b706fd006b6647fa668273ccbe34bae1de5821e6a20b80debb76a0a39a226d28980086cdcbcb0d85c03db6b855e425fcb219f6435a041487939babb56a25a46afc56000bdf6b4167de60f9da3fcaa3e08c249b92332b3ad33bd18e5365dbd4059e5bb90752663a7c5b0ad285ea894a9ec02fb859edf82c6541e48f1315d790f3bd4060f981a9a95f89ceb15741ce20f3555954ac88333e6ce234a7e10043404d66207ddaa65e74b4ab9c5f584424388b01667de681ecd17e87ca845a4665af0ae889c9217b638bef6634122c117e1e809da4e3d8ea63c7cd7c067a22ab3e53b8bbfb02eee214c4156637a9ac7a99dc94fafc0978eb38c3f8f7a3ab24bc30dc1455ef0145c4361352ef0e6f52fa68a81d4dec8a5383ac050147239e148262448fc53bc468e87826417dbc05d8717bc1c33f7b45467ea5bf3111c1948f08abadd54da02dda5c2c13fdae9afe4d4d3287011e4cb1495700b964bd4f398f94abc24ba4440f23cc32745d9519f6002514e2318064f6f91733f2405c1662c1eb4677a005b4815bfc3301d66b05a4068f9e0ec421cc95a435a7d91134734e054c57ec160ad6dd1f8639f8c3965bdb24379a5312d3c51ad066102edc783e995ad39236672336b577f087b38c7ddfcc6ace3f26c842c9536f36190096b1e096d45d5ed9160fbcf8216099ffb7064e269abf6a27a03b1b1b1108891c08709f206df2c970dd67f7a8f1d362c64c86cb4ba4a27a60d6994077d83928cb7aefb9e353feec6068da7fda701465b5a079a742e66ef3e6184ef6d125eaa1de8201339cf32503c32ac1624e8d369cbd71ed5f8ee9f74920172160f28d9907376c6280121335ad8326dc3d403af6dc202fd533e92b80e5b6e0c105823b497da2fdc8b73483ef47116878ad69df328c5631465dd8a8a13942eb8e05512b3c8a5b05ffc97dc56014dad8bdfb5e4c1d2a5425b13b8295fe144f95aa09997f7d2d37017899077e48dd2d6bb9d0f71faf2d410fdc8ed22ed8f47ac86cb26a6656d734a405b4e91646e7e0624f6bc24870b6a4bf32371f7feb8cd414204f8e09c99d6f51782560aa2f01ea1c9728236aef351c8e8b940e546173bd05197f6dae08df962e82fcdcd8368584426f089883181d4b9b8648f4d4163080398aab0f58744586db2f92b24c9917b74a8f7ece729ee41a8f854e8cdd08ae4040debd3d9484ba045b407d058cabf196a44b96b95fb8ef8b25c4709925b9e1a81557e68cf11bb2eeae0cea89a9465c0e8983758c3e5a3d531c74028e0697d0a811b10cd7b37ab83138f49c24c40a881cee34b281f5c5c4b08f2ab2850bf37df9c86509f5458da80dc41020da10bf2f0e0a47d1ad4fdace08abdccfb2ab62a6f0fd964bc1e51419ae4df69f473f2ed2738d828044372eadf7aea2df67c83e46c487721e40e9f7f268da7b9b48d24a5e046f888ce4ae25bf6639bb98ae53654cf0d389b756304f917b948ce28218cb14916a79db6e70000000000000000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000000000000000074000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000008c00000000000000000000000000000000000000000000000000000000000000920000000000000000000000000000000000000000000000000000000000000098000000000000000000000000000000000000000000000000000000000000009e00000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000b600000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000d400000000000000000000000000000000000000000000000000000000000000da00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000e600000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000f800000000000000000000000000000000000000000000000000000000000000fe0000000000000000000000000000000000000000000000000000000000000104000000000000000000000000000000000000000000000000000000000000010a00000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000116000000000000000000000000000000000000000000000000000000000000011c00000000000000000000000000000000000000000000000000000000000001220000000000000000000000000000000000000000000000000000000000000128000000000000000000000000000000000000000000000000000000000000012e0000000000000000000000000000000000000000000000000000000000000134000000000000000000000000000000000000000000000000000000000000013a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000014c00000000000000000000000000000000000000000000000000000000000001520000000000000000000000000000000000000000000000000000000000000158000000000000000000000000000000000000000000000000000000000000015e0000000000000000000000000000000000000000000000000000000000000164000000000000000000000000000000000000000000000000000000000000016a00000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000176000000000000000000000000000000000000000000000000000000000000017c00000000000000000000000000000000000000000000000000000000000001820000000000000000000000000000000000000000000000000000000000000188000000000000000000000000000000000000000000000000000000000000018e0000000000000000000000000000000000000000000000000000000000000194000000000000000000000000000000000000000000000000000000000000019a00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a600000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001b200000000000000000000000000000000000000000000000000000000000001b800000000000000000000000000000000000000000000000000000000000001be00000000000000000000000000000000000000000000000000000000000001c400000000000000000000000000000000000000000000000000000000000001ca0000000000000000000000000000000000000000000000000000000000000002e516d567077655236344b653550397a564c52626f574d70447a547046654e76656f70564b4763354e6f5354465965000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d55546f43595265537356414e7a56514548624a65526b5a4e5a71684a48675a524e53376e3936384b53475451000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5854674744695a416e53793751696f726153543873646f4566564c4733623866794a35487a667542796e5853000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d575a63467431746f4848334852776b4853564654706e4850745a6b6d31314739596175353133375741673565000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d586b7957596b466d7a54566245464d6a6b7a45746e6e6464584b6d6b566e5066736e4b67774535546b4a4b36000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d63737271753843726865537a354c557243326d6b5839454851734372487446435036384c7442744568486e4c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5a6d733657317731524e54677452463435484b524769564a6f5343744d326b715073456553586d6a65525771000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d50546d4e3463715a533256773753454c425a62326a67777536583343455453334b7a5158784b7a3335617a66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d614341555237365445336d51347659556657567376455977324e703168664371626f4555463437464458587a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d637a37335a31483677695247556e474e5844756f724c5051414b78464d417279323244685a506178354a7932000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d646a7a653947674d4a4457476341326d73656e4e535a464b3677796b484e6847696336314e71337334767969000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d616f6e47644d70647531676863585141336948476e6f4334744477506932563956566e6468545847615a6861000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d4e4e624b4a5061344634426963485043484139386e5a784243415357314331347231764a776d425951654162000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d584d6642734d544d4c6577364d5a6137653955525373707479565468705532514271356878596e7041767136000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d4e6665675a516b377347536438314354414d6e4c77583573757936504c337046434a39416d70624d6e594777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d62703839734a4e6e657356347677756e664562623832325877435239476d6b4c6f55756f57456d585a59774b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d57555746487643384c4b737148584653327a4e62376b767778727177423264524a525a726950774d724c7531000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d55374d477963426f53595a54675568525633546b6744776352715438466b397055713767416d6a59667a3831000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d623176625656596e4659566143564b7635336437634a516d4a7148756d35737942786d454773777555515953000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d624575645957656a33737554325079443948704672686661566a33707148616246534842414d4b4e63464344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d523673717578693267616267386f63444b553467785567546138444573657776384452465354476938414264000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d6275684a4837324a4644393637546d67684e46706a71467958766d3235716b326e5868396859476754723464000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d526d754a434d447a684371436a72767a7968796b416b3446786b48794c46517a58645979374737794e433631000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d58577466454b655967706e586e63666572435564734851557a5a5231726b6931326e76415069753352613837000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5042416e53696d4d673662705a715070764c434e66484d7339506f756257557141547331726b35664e66636f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d59734c5279466165323337425338736e4d6e54424e61387475483962674d6b6f69746b727238435166514243000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d526143664b744e6663505865316378596e6577384c61413555675138354c655045785454476275734d766231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d56486b64437a39344c567733456a7478433856426b33624a5943415443573658696859386867754d3177554a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d6539564d785a504462777441697672687739794d37346a667a4375526f5a3745553636533241736d45616762000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5644316a5157585833417445673945446d44747877683954544e5268423156737331724b37354752686b7775000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d525a6b54654a524c4b7a31365844656b555a4a693748503168454d5179645a65734b4d313846777a4a653751000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d634e5135317350445a7436676f344a5a556339566166627a617064744872467a57414c6765775832657a3267000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d516732627576364b4350666f577043506667334c54356e716948756244375a6d6e6b77506b38324a6d417166000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5945675650616e586f5a596e4c67514a6672393174447a4c446e787a6d484e584c33527a6947666f5835317a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d535970614442506b4a5a71796736776634736e6e56673765374333574672616b755a4d775a5137684c546f55000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d56346a6337575a6f433555324e3163776f5573453177707570524265435546593959767a4466503369353969000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d58394161467272334e6f3272775a6243765558474a6248367365376a46696f7058354c513159374762485159000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5961684272436b7977364a4a444a48484d59506457367a6e62764539517270324737696d7676737367324c78000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d506b3159654d514a586750317167577335314547576565736d64397a4557797233484c64786b50366f767278000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5744666d767844316542384b763864744d5853505443504566465945686e51535837456966746d69424c5168000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5272517233586b71644e336f664257686469684c3431646b516675504d35386b447a5069555174585a583351000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d554e673633776b36696265697277555472754437544d523642666a444b483374473941503344355239736f33000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d634d714a50365269584369696d58716935376778374a7a554a3670576456686a78454d6d5354487865737662000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d64455a575368505a4d34563834763664446d376a716531584b354b3674435761646a5a6a333766336e596376000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d65685141427375324a4866455573474542637743417172467a3170587968717a423872687672745655773645000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d594543686e37703367417932775a6f5246786450333863373975514d78685469693958743446577647577446000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d655a71616b6b624e746f556a6f585a6a6d377369744b666b6944794c7274313264587a564535423539615239000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d565478566b35373757526a4c437a75653244583969697541444d6d3973384439446655433834766b61787358000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d627a6a6b414c396473573867704639643845354835707171786b467133755a3765705763437744716e51756b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d6347365a4b696e436859577a4577767976337374735363793864536555755942525832445750336978677967000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d59333243646b51446f5962663842586351364a696e41746a6a527979546651643131774d4e6364445a694846000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d6545656d4c6b44516d6d44543755466474707270584b6e79416f655479794d466a4e633658457233765a5367000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d624e6a7463576863447167617676504c56716f70416b6a3861483173435338656e5470346d39416e33515946000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5a4d4752344e373477346b4c786d5933476746645271614a51474d46396b353178757a734d67376463696434000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d56596453565668676b4a434d32535166754c584e617935625854416977546b4459615a314d4c38595a4b3838000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d585a697a466872586e4d37426e45367158763237784e70474135777461445463734456586958447968334255000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d504478774d74676f556450746f76564c56434c527a434b373172545277394666504a43526b526b6a6e4b3332000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5377436d33377573596e327a4a487669744141563979446d4138575179673737764155767a794d39524b4255000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _minterAddress (address): 0xD947d16CA291C4d444293DA56332820bD8e32A81
Arg [1] : _orderedSigs (bytes32[58]): System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[]
Arg [2] : _orderedIpfsHashes (string[58]): QmVpweR64Ke5P9zVLRboWMpDzTpFeNveopVKGc5NoSTFYe,QmUToCYReSsVANzVQEHbJeRkZNZqhJHgZRNS7n968KSGTQ,QmXTgGDiZAnSy7QioraST8sdoEfVLG3b8fyJ5HzfuBynXS,QmWZcFt1toHH3HRwkHSVFTpnHPtZkm11G9Yau5137WAg5e,QmXkyWYkFmzTVbEFMjkzEtnnddXKmkVnPfsnKgwE5TkJK6,Qmcsrqu8CrheSz5LUrC2mkX9EHQsCrHtFCP68LtBtEhHnL,QmZms6W1w1RNTgtRF45HKRGiVJoSCtM2kqPsEeSXmjeRWq,QmPTmN4cqZS2Vw7SELBZb2jgwu6X3CETS3KzQXxKz35azf,QmaCAUR76TE3mQ4vYUfWVsvEYw2Np1hfCqboEUF47FDXXz,Qmcz73Z1H6wiRGUnGNXDuorLPQAKxFMAry22DhZPax5Jy2,Qmdjze9GgMJDWGcA2msenNSZFK6wykHNhGic61Nq3s4vyi,QmaonGdMpdu1ghcXQA3iHGnoC4tDwPi2V9VVndhTXGaZha,QmNNbKJPa4F4BicHPCHA98nZxBCASW1C14r1vJwmBYQeAb,QmXMfBsMTMLew6MZa7e9URSsptyVThpU2QBq5hxYnpAvq6,QmNfegZQk7sGSd81CTAMnLwX5suy6PL3pFCJ9AmpbMnYGw,Qmbp89sJNnesV4vwunfEbb822XwCR9GmkLoUuoWEmXZYwK,QmWUWFHvC8LKsqHXFS2zNb7kvwxrqwB2dRJRZriPwMrLu1,QmU7MGycBoSYZTgUhRV3TkgDwcRqT8Fk9pUq7gAmjYfz81,Qmb1vbVVYnFYVaCVKv53d7cJQmJqHum5syBxmEGswuUQYS,QmbEudYWej3suT2PyD9HpFrhfaVj3pqHabFSHBAMKNcFCD,QmR6squxi2gabg8ocDKU4gxUgTa8DEsewv8DRFSTGi8ABd,QmbuhJH72JFD967TmghNFpjqFyXvm25qk2nXh9hYGgTr4d,QmRmuJCMDzhCqCjrvzyhykAk4FxkHyLFQzXdYy7G7yNC61,QmXWtfEKeYgpnXncferCUdsHQUzZR1rki12nvAPiu3Ra87,QmPBAnSimMg6bpZqPpvLCNfHMs9PoubWUqATs1rk5fNfco,QmYsLRyFae237BS8snMnTBNa8tuH9bgMkoitkrr8CQfQBC,QmRaCfKtNfcPXe1cxYnew8LaA5UgQ85LePExTTGbusMvb1,QmVHkdCz94LVw3EjtxC8VBk3bJYCATCW6XihY8hguM1wUJ,Qme9VMxZPDbwtAivrhw9yM74jfzCuRoZ7EU66S2AsmEagb,QmVD1jQWXX3AtEg9EDmDtxwh9TTNRhB1Vss1rK75GRhkwu,QmRZkTeJRLKz16XDekUZJi7HP1hEMQydZesKM18FwzJe7Q,QmcNQ51sPDZt6go4JZUc9VafbzapdtHrFzWALgewX2ez2g,QmQg2buv6KCPfoWpCPfg3LT5nqiHubD7ZmnkwPk82JmAqf,QmYEgVPanXoZYnLgQJfr91tDzLDnxzmHNXL3RziGfoX51z,QmSYpaDBPkJZqyg6wf4snnVg7e7C3WFrakuZMwZQ7hLToU,QmV4jc7WZoC5U2N1cwoUsE1wpupRBeCUFY9YvzDfP3i59i,QmX9AaFrr3No2rwZbCvUXGJbH6se7jFiopX5LQ1Y7GbHQY,QmYahBrCkyw6JJDJHHMYPdW6znbvE9Qrp2G7imvvssg2Lx,QmPk1YeMQJXgP1qgWs51EGWeesmd9zEWyr3HLdxkP6ovrx,QmWDfmvxD1eB8Kv8dtMXSPTCPEfFYEhnQSX7EiftmiBLQh,QmRrQr3XkqdN3ofBWhdihL41dkQfuPM58kDzPiUQtXZX3Q,QmUNg63wk6ibeirwUTruD7TMR6BfjDKH3tG9AP3D5R9so3,QmcMqJP6RiXCiimXqi57gx7JzUJ6pWdVhjxEMmSTHxesvb,QmdEZWShPZM4V84v6dDm7jqe1XK5K6tCWadjZj37f3nYcv,QmehQABsu2JHfEUsGEBcwCAqrFz1pXyhqzB8rhvrtVUw6E,QmYEChn7p3gAy2wZoRFxdP38c79uQMxhTii9Xt4FWvGWtF,QmeZqakkbNtoUjoXZjm7sitKfkiDyLrt12dXzVE5B59aR9,QmVTxVk577WRjLCzue2DX9iiuADMm9s8D9DfUC84vkaxsX,QmbzjkAL9dsW8gpF9d8E5H5pqqxkFq3uZ7epWcCwDqnQuk,QmcG6ZKinChYWzEwvyv3stsScy8dSeUuYBRX2DWP3ixgyg,QmY32CdkQDoYbf8BXcQ6JinAtjjRyyTfQd11wMNcdDZiHF,QmeEemLkDQmmDT7UFdtprpXKnyAoeTyyMFjNc6XEr3vZSg,QmbNjtcWhcDqgavvPLVqopAkj8aH1sCS8enTp4m9An3QYF,QmZMGR4N74w4kLxmY3GgFdRqaJQGMF9k51xuzsMg7dcid4,QmVYdSVVhgkJCM2SQfuLXNay5bXTAiwTkDYaZ1ML8YZK88,QmXZizFhrXnM7BnE6qXv27xNpGA5wtaDTcsDVXiXDyh3BU,QmPDxwMtgoUdPtovVLVCLRzCK71rTRw9FfPJCRkRkjnK32,QmSwCm37usYn2zJHvitAAV9yDmA8WQyg77vAUvzyM9RKBU

-----Encoded View---------------
292 Constructor Arguments found :
Arg [0] : 000000000000000000000000d947d16ca291c4d444293da56332820bd8e32a81
Arg [1] : 91781647437c48bc328f25d4c47b6f24cf8a46ab1b0f3c63704f9705178c0b5d
Arg [2] : 2fde0bc20c20a82166355cf1b6b78d01a4411d4794703642b04d3ec0232548ca
Arg [3] : fa61d833ca2c8fc6f23aabbc18a23eef4e6313bc47446ecb06dbb148eefe349a
Arg [4] : 7f43c4e20a98081432b88599fcdbf9e2d8a3b7093515a473f828190a2d82e045
Arg [5] : 4fc4fd5e45256c6074fcfa6705c9f8f17cca4fbc2e334c238a245edecc09fabf
Arg [6] : 10c7871c5794b23562937b3b10abe535d5164acfee07d8109aec4af7bdd09d84
Arg [7] : 7a6f424e3883f69688aa191a08e0f8b03a2da963afe6a080337ee476b9c3589e
Arg [8] : 05788e5a6fae013209599b7899cfc89f5559641feb121b7a3e6cc3be2daf4068
Arg [9] : 89bb1be1fb0ea747de9e02f21ed76c98a2c1a83775fc0fd9acc0d5e302d2b1ac
Arg [10] : af63a02c558a3f5b3dda2a040b0bdc78b8ab0e36b58eba524b3d29c04a34583b
Arg [11] : d8b90b8c24e203c4c18e162b98d52ba01155af03e8d20a612e8aec24f14c4fc6
Arg [12] : 6a5ce53aa652306b139b77b3a0de38c6b1cd0e43383d6bdafc8f4a063527feb4
Arg [13] : ba563cc12e6ca57a4041b3959367cb0b09924cd19646031fe44678b675e769b0
Arg [14] : 7b08aa4b59c690330631aadebb59d83fe8a66b97766920de16ac45910c6ba733
Arg [15] : 4ef7c56f860c0a7edb918c2cd692594ca391b747fbc2d2ec340d32511aaffefc
Arg [16] : bd4d181cccd9ec7f70ef63d02a93f26765a790d8fee03b7ee682792e5cbf78b4
Arg [17] : 20c83c5b460e76df8591c89528c04d009ba45a2d59197f350c74953295f6c109
Arg [18] : cccc4d6e704b77395b9ee4108631d2af41d1e8336c1242dc850333d1a18a978f
Arg [19] : c99f67bd53dd2fb621858f780bdec8fe5793b20fc60f9a3df110b6d577fc01cf
Arg [20] : ba7469ba4efe2078a7cdae47444109b741678232a2ac9cb030f9bd39febb17da
Arg [21] : 3a39c5f35b3c05614cdf99eb7884e76ee362c521a5f41f6b56ce95e4f3b5ff8b
Arg [22] : a431e8bd585950fb846d762b7dfdceb2827437d8afef1246bf92d272b6342977
Arg [23] : 5235eecbec0bdb8e08f664c5c5867b5193aece7577f35bb555f68834f9ea12ef
Arg [24] : 76f941a558c7330b19b557295d4eb56e38e5034b154918c08544137181348a86
Arg [25] : a8bc86c65d45cbeb818518a64ce67f7ab0d7a549c6a688f63a77a8801b706fd0
Arg [26] : 06b6647fa668273ccbe34bae1de5821e6a20b80debb76a0a39a226d28980086c
Arg [27] : dcbcb0d85c03db6b855e425fcb219f6435a041487939babb56a25a46afc56000
Arg [28] : bdf6b4167de60f9da3fcaa3e08c249b92332b3ad33bd18e5365dbd4059e5bb90
Arg [29] : 752663a7c5b0ad285ea894a9ec02fb859edf82c6541e48f1315d790f3bd4060f
Arg [30] : 981a9a95f89ceb15741ce20f3555954ac88333e6ce234a7e10043404d66207dd
Arg [31] : aa65e74b4ab9c5f584424388b01667de681ecd17e87ca845a4665af0ae889c92
Arg [32] : 17b638bef6634122c117e1e809da4e3d8ea63c7cd7c067a22ab3e53b8bbfb02e
Arg [33] : ee214c4156637a9ac7a99dc94fafc0978eb38c3f8f7a3ab24bc30dc1455ef014
Arg [34] : 5c4361352ef0e6f52fa68a81d4dec8a5383ac050147239e148262448fc53bc46
Arg [35] : 8e87826417dbc05d8717bc1c33f7b45467ea5bf3111c1948f08abadd54da02dd
Arg [36] : a5c2c13fdae9afe4d4d3287011e4cb1495700b964bd4f398f94abc24ba4440f2
Arg [37] : 3cc32745d9519f6002514e2318064f6f91733f2405c1662c1eb4677a005b4815
Arg [38] : bfc3301d66b05a4068f9e0ec421cc95a435a7d91134734e054c57ec160ad6dd1
Arg [39] : f8639f8c3965bdb24379a5312d3c51ad066102edc783e995ad39236672336b57
Arg [40] : 7f087b38c7ddfcc6ace3f26c842c9536f36190096b1e096d45d5ed9160fbcf82
Arg [41] : 16099ffb7064e269abf6a27a03b1b1b1108891c08709f206df2c970dd67f7a8f
Arg [42] : 1d362c64c86cb4ba4a27a60d6994077d83928cb7aefb9e353feec6068da7fda7
Arg [43] : 01465b5a079a742e66ef3e6184ef6d125eaa1de8201339cf32503c32ac1624e8
Arg [44] : d369cbd71ed5f8ee9f74920172160f28d9907376c6280121335ad8326dc3d403
Arg [45] : af6dc202fd533e92b80e5b6e0c105823b497da2fdc8b73483ef47116878ad69d
Arg [46] : f328c5631465dd8a8a13942eb8e05512b3c8a5b05ffc97dc56014dad8bdfb5e4
Arg [47] : c1d2a5425b13b8295fe144f95aa09997f7d2d37017899077e48dd2d6bb9d0f71
Arg [48] : faf2d410fdc8ed22ed8f47ac86cb26a6656d734a405b4e91646e7e0624f6bc24
Arg [49] : 870b6a4bf32371f7feb8cd414204f8e09c99d6f51782560aa2f01ea1c9728236
Arg [50] : aef351c8e8b940e546173bd05197f6dae08df962e82fcdcd8368584426f08988
Arg [51] : 3181d4b9b8648f4d4163080398aab0f58744586db2f92b24c9917b74a8f7ece7
Arg [52] : 29ee41a8f854e8cdd08ae4040debd3d9484ba045b407d058cabf196a44b96b95
Arg [53] : fb8ef8b25c4709925b9e1a81557e68cf11bb2eeae0cea89a9465c0e8983758c3
Arg [54] : e5a3d531c74028e0697d0a811b10cd7b37ab83138f49c24c40a881cee34b281f
Arg [55] : 5c5c4b08f2ab2850bf37df9c86509f5458da80dc41020da10bf2f0e0a47d1ad4
Arg [56] : fdace08abdccfb2ab62a6f0fd964bc1e51419ae4df69f473f2ed2738d8280443
Arg [57] : 72eadf7aea2df67c83e46c487721e40e9f7f268da7b9b48d24a5e046f888ce4a
Arg [58] : e25bf6639bb98ae53654cf0d389b756304f917b948ce28218cb14916a79db6e7
Arg [59] : 0000000000000000000000000000000000000000000000000000000000000780
Arg [60] : 0000000000000000000000000000000000000000000000000000000000000740
Arg [61] : 00000000000000000000000000000000000000000000000000000000000007a0
Arg [62] : 0000000000000000000000000000000000000000000000000000000000000800
Arg [63] : 0000000000000000000000000000000000000000000000000000000000000860
Arg [64] : 00000000000000000000000000000000000000000000000000000000000008c0
Arg [65] : 0000000000000000000000000000000000000000000000000000000000000920
Arg [66] : 0000000000000000000000000000000000000000000000000000000000000980
Arg [67] : 00000000000000000000000000000000000000000000000000000000000009e0
Arg [68] : 0000000000000000000000000000000000000000000000000000000000000a40
Arg [69] : 0000000000000000000000000000000000000000000000000000000000000aa0
Arg [70] : 0000000000000000000000000000000000000000000000000000000000000b00
Arg [71] : 0000000000000000000000000000000000000000000000000000000000000b60
Arg [72] : 0000000000000000000000000000000000000000000000000000000000000bc0
Arg [73] : 0000000000000000000000000000000000000000000000000000000000000c20
Arg [74] : 0000000000000000000000000000000000000000000000000000000000000c80
Arg [75] : 0000000000000000000000000000000000000000000000000000000000000ce0
Arg [76] : 0000000000000000000000000000000000000000000000000000000000000d40
Arg [77] : 0000000000000000000000000000000000000000000000000000000000000da0
Arg [78] : 0000000000000000000000000000000000000000000000000000000000000e00
Arg [79] : 0000000000000000000000000000000000000000000000000000000000000e60
Arg [80] : 0000000000000000000000000000000000000000000000000000000000000ec0
Arg [81] : 0000000000000000000000000000000000000000000000000000000000000f20
Arg [82] : 0000000000000000000000000000000000000000000000000000000000000f80
Arg [83] : 0000000000000000000000000000000000000000000000000000000000000fe0
Arg [84] : 0000000000000000000000000000000000000000000000000000000000001040
Arg [85] : 00000000000000000000000000000000000000000000000000000000000010a0
Arg [86] : 0000000000000000000000000000000000000000000000000000000000001100
Arg [87] : 0000000000000000000000000000000000000000000000000000000000001160
Arg [88] : 00000000000000000000000000000000000000000000000000000000000011c0
Arg [89] : 0000000000000000000000000000000000000000000000000000000000001220
Arg [90] : 0000000000000000000000000000000000000000000000000000000000001280
Arg [91] : 00000000000000000000000000000000000000000000000000000000000012e0
Arg [92] : 0000000000000000000000000000000000000000000000000000000000001340
Arg [93] : 00000000000000000000000000000000000000000000000000000000000013a0
Arg [94] : 0000000000000000000000000000000000000000000000000000000000001400
Arg [95] : 0000000000000000000000000000000000000000000000000000000000001460
Arg [96] : 00000000000000000000000000000000000000000000000000000000000014c0
Arg [97] : 0000000000000000000000000000000000000000000000000000000000001520
Arg [98] : 0000000000000000000000000000000000000000000000000000000000001580
Arg [99] : 00000000000000000000000000000000000000000000000000000000000015e0
Arg [100] : 0000000000000000000000000000000000000000000000000000000000001640
Arg [101] : 00000000000000000000000000000000000000000000000000000000000016a0
Arg [102] : 0000000000000000000000000000000000000000000000000000000000001700
Arg [103] : 0000000000000000000000000000000000000000000000000000000000001760
Arg [104] : 00000000000000000000000000000000000000000000000000000000000017c0
Arg [105] : 0000000000000000000000000000000000000000000000000000000000001820
Arg [106] : 0000000000000000000000000000000000000000000000000000000000001880
Arg [107] : 00000000000000000000000000000000000000000000000000000000000018e0
Arg [108] : 0000000000000000000000000000000000000000000000000000000000001940
Arg [109] : 00000000000000000000000000000000000000000000000000000000000019a0
Arg [110] : 0000000000000000000000000000000000000000000000000000000000001a00
Arg [111] : 0000000000000000000000000000000000000000000000000000000000001a60
Arg [112] : 0000000000000000000000000000000000000000000000000000000000001ac0
Arg [113] : 0000000000000000000000000000000000000000000000000000000000001b20
Arg [114] : 0000000000000000000000000000000000000000000000000000000000001b80
Arg [115] : 0000000000000000000000000000000000000000000000000000000000001be0
Arg [116] : 0000000000000000000000000000000000000000000000000000000000001c40
Arg [117] : 0000000000000000000000000000000000000000000000000000000000001ca0
Arg [118] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [119] : 516d567077655236344b653550397a564c52626f574d70447a547046654e7665
Arg [120] : 6f70564b4763354e6f5354465965000000000000000000000000000000000000
Arg [121] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [122] : 516d55546f43595265537356414e7a56514548624a65526b5a4e5a71684a4867
Arg [123] : 5a524e53376e3936384b53475451000000000000000000000000000000000000
Arg [124] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [125] : 516d5854674744695a416e53793751696f726153543873646f4566564c473362
Arg [126] : 3866794a35487a667542796e5853000000000000000000000000000000000000
Arg [127] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [128] : 516d575a63467431746f4848334852776b4853564654706e4850745a6b6d3131
Arg [129] : 4739596175353133375741673565000000000000000000000000000000000000
Arg [130] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [131] : 516d586b7957596b466d7a54566245464d6a6b7a45746e6e6464584b6d6b566e
Arg [132] : 5066736e4b67774535546b4a4b36000000000000000000000000000000000000
Arg [133] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [134] : 516d63737271753843726865537a354c557243326d6b58394548517343724874
Arg [135] : 46435036384c7442744568486e4c000000000000000000000000000000000000
Arg [136] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [137] : 516d5a6d733657317731524e54677452463435484b524769564a6f5343744d32
Arg [138] : 6b715073456553586d6a65525771000000000000000000000000000000000000
Arg [139] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [140] : 516d50546d4e3463715a533256773753454c425a62326a677775365833434554
Arg [141] : 53334b7a5158784b7a3335617a66000000000000000000000000000000000000
Arg [142] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [143] : 516d614341555237365445336d51347659556657567376455977324e70316866
Arg [144] : 4371626f4555463437464458587a000000000000000000000000000000000000
Arg [145] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [146] : 516d637a37335a31483677695247556e474e5844756f724c5051414b78464d41
Arg [147] : 7279323244685a506178354a7932000000000000000000000000000000000000
Arg [148] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [149] : 516d646a7a653947674d4a4457476341326d73656e4e535a464b3677796b484e
Arg [150] : 6847696336314e71337334767969000000000000000000000000000000000000
Arg [151] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [152] : 516d616f6e47644d70647531676863585141336948476e6f4334744477506932
Arg [153] : 563956566e6468545847615a6861000000000000000000000000000000000000
Arg [154] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [155] : 516d4e4e624b4a5061344634426963485043484139386e5a7842434153573143
Arg [156] : 31347231764a776d425951654162000000000000000000000000000000000000
Arg [157] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [158] : 516d584d6642734d544d4c6577364d5a61376539555253737074795654687055
Arg [159] : 32514271356878596e7041767136000000000000000000000000000000000000
Arg [160] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [161] : 516d4e6665675a516b377347536438314354414d6e4c77583573757936504c33
Arg [162] : 7046434a39416d70624d6e594777000000000000000000000000000000000000
Arg [163] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [164] : 516d62703839734a4e6e657356347677756e664562623832325877435239476d
Arg [165] : 6b4c6f55756f57456d585a59774b000000000000000000000000000000000000
Arg [166] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [167] : 516d57555746487643384c4b737148584653327a4e62376b7677787271774232
Arg [168] : 64524a525a726950774d724c7531000000000000000000000000000000000000
Arg [169] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [170] : 516d55374d477963426f53595a54675568525633546b6744776352715438466b
Arg [171] : 397055713767416d6a59667a3831000000000000000000000000000000000000
Arg [172] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [173] : 516d623176625656596e4659566143564b7635336437634a516d4a7148756d35
Arg [174] : 737942786d454773777555515953000000000000000000000000000000000000
Arg [175] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [176] : 516d624575645957656a33737554325079443948704672686661566a33707148
Arg [177] : 616246534842414d4b4e63464344000000000000000000000000000000000000
Arg [178] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [179] : 516d523673717578693267616267386f63444b55346778556754613844457365
Arg [180] : 7776384452465354476938414264000000000000000000000000000000000000
Arg [181] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [182] : 516d6275684a4837324a4644393637546d67684e46706a71467958766d323571
Arg [183] : 6b326e5868396859476754723464000000000000000000000000000000000000
Arg [184] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [185] : 516d526d754a434d447a684371436a72767a7968796b416b3446786b48794c46
Arg [186] : 517a58645979374737794e433631000000000000000000000000000000000000
Arg [187] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [188] : 516d58577466454b655967706e586e63666572435564734851557a5a5231726b
Arg [189] : 6931326e76415069753352613837000000000000000000000000000000000000
Arg [190] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [191] : 516d5042416e53696d4d673662705a715070764c434e66484d7339506f756257
Arg [192] : 557141547331726b35664e66636f000000000000000000000000000000000000
Arg [193] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [194] : 516d59734c5279466165323337425338736e4d6e54424e61387475483962674d
Arg [195] : 6b6f69746b727238435166514243000000000000000000000000000000000000
Arg [196] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [197] : 516d526143664b744e6663505865316378596e6577384c61413555675138354c
Arg [198] : 655045785454476275734d766231000000000000000000000000000000000000
Arg [199] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [200] : 516d56486b64437a39344c567733456a7478433856426b33624a594341544357
Arg [201] : 3658696859386867754d3177554a000000000000000000000000000000000000
Arg [202] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [203] : 516d6539564d785a504462777441697672687739794d37346a667a4375526f5a
Arg [204] : 3745553636533241736d45616762000000000000000000000000000000000000
Arg [205] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [206] : 516d5644316a5157585833417445673945446d44747877683954544e52684231
Arg [207] : 56737331724b37354752686b7775000000000000000000000000000000000000
Arg [208] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [209] : 516d525a6b54654a524c4b7a31365844656b555a4a693748503168454d517964
Arg [210] : 5a65734b4d313846777a4a653751000000000000000000000000000000000000
Arg [211] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [212] : 516d634e5135317350445a7436676f344a5a556339566166627a617064744872
Arg [213] : 467a57414c6765775832657a3267000000000000000000000000000000000000
Arg [214] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [215] : 516d516732627576364b4350666f577043506667334c54356e71694875624437
Arg [216] : 5a6d6e6b77506b38324a6d417166000000000000000000000000000000000000
Arg [217] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [218] : 516d5945675650616e586f5a596e4c67514a6672393174447a4c446e787a6d48
Arg [219] : 4e584c33527a6947666f5835317a000000000000000000000000000000000000
Arg [220] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [221] : 516d535970614442506b4a5a71796736776634736e6e56673765374333574672
Arg [222] : 616b755a4d775a5137684c546f55000000000000000000000000000000000000
Arg [223] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [224] : 516d56346a6337575a6f433555324e3163776f55734531777075705242654355
Arg [225] : 46593959767a4466503369353969000000000000000000000000000000000000
Arg [226] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [227] : 516d58394161467272334e6f3272775a6243765558474a6248367365376a4669
Arg [228] : 6f7058354c513159374762485159000000000000000000000000000000000000
Arg [229] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [230] : 516d5961684272436b7977364a4a444a48484d59506457367a6e627645395172
Arg [231] : 70324737696d7676737367324c78000000000000000000000000000000000000
Arg [232] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [233] : 516d506b3159654d514a586750317167577335314547576565736d64397a4557
Arg [234] : 797233484c64786b50366f767278000000000000000000000000000000000000
Arg [235] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [236] : 516d5744666d767844316542384b763864744d5853505443504566465945686e
Arg [237] : 51535837456966746d69424c5168000000000000000000000000000000000000
Arg [238] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [239] : 516d5272517233586b71644e336f664257686469684c3431646b516675504d35
Arg [240] : 386b447a5069555174585a583351000000000000000000000000000000000000
Arg [241] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [242] : 516d554e673633776b36696265697277555472754437544d523642666a444b48
Arg [243] : 3374473941503344355239736f33000000000000000000000000000000000000
Arg [244] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [245] : 516d634d714a50365269584369696d58716935376778374a7a554a3670576456
Arg [246] : 686a78454d6d5354487865737662000000000000000000000000000000000000
Arg [247] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [248] : 516d64455a575368505a4d34563834763664446d376a716531584b354b367443
Arg [249] : 5761646a5a6a333766336e596376000000000000000000000000000000000000
Arg [250] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [251] : 516d65685141427375324a4866455573474542637743417172467a3170587968
Arg [252] : 717a423872687672745655773645000000000000000000000000000000000000
Arg [253] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [254] : 516d594543686e37703367417932775a6f5246786450333863373975514d7868
Arg [255] : 5469693958743446577647577446000000000000000000000000000000000000
Arg [256] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [257] : 516d655a71616b6b624e746f556a6f585a6a6d377369744b666b6944794c7274
Arg [258] : 313264587a564535423539615239000000000000000000000000000000000000
Arg [259] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [260] : 516d565478566b35373757526a4c437a75653244583969697541444d6d397338
Arg [261] : 4439446655433834766b61787358000000000000000000000000000000000000
Arg [262] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [263] : 516d627a6a6b414c396473573867704639643845354835707171786b46713375
Arg [264] : 5a3765705763437744716e51756b000000000000000000000000000000000000
Arg [265] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [266] : 516d6347365a4b696e436859577a457776797633737473536379386453655575
Arg [267] : 5942525832445750336978677967000000000000000000000000000000000000
Arg [268] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [269] : 516d59333243646b51446f5962663842586351364a696e41746a6a5279795466
Arg [270] : 51643131774d4e6364445a694846000000000000000000000000000000000000
Arg [271] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [272] : 516d6545656d4c6b44516d6d44543755466474707270584b6e79416f65547979
Arg [273] : 4d466a4e633658457233765a5367000000000000000000000000000000000000
Arg [274] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [275] : 516d624e6a7463576863447167617676504c56716f70416b6a38614831734353
Arg [276] : 38656e5470346d39416e33515946000000000000000000000000000000000000
Arg [277] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [278] : 516d5a4d4752344e373477346b4c786d5933476746645271614a51474d46396b
Arg [279] : 353178757a734d67376463696434000000000000000000000000000000000000
Arg [280] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [281] : 516d56596453565668676b4a434d32535166754c584e61793562585441697754
Arg [282] : 6b4459615a314d4c38595a4b3838000000000000000000000000000000000000
Arg [283] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [284] : 516d585a697a466872586e4d37426e45367158763237784e7047413577746144
Arg [285] : 5463734456586958447968334255000000000000000000000000000000000000
Arg [286] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [287] : 516d504478774d74676f556450746f76564c56434c527a434b37317254527739
Arg [288] : 4666504a43526b526b6a6e4b3332000000000000000000000000000000000000
Arg [289] : 000000000000000000000000000000000000000000000000000000000000002e
Arg [290] : 516d5377436d33377573596e327a4a487669744141563979446d413857517967
Arg [291] : 3737764155767a794d39524b4255000000000000000000000000000000000000


Deployed Bytecode Sourcemap

34880:1891:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24044:223;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10069:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;36345:423;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;36114:223;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26730:1208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;35104:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24443:618;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;35251:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;35815:291;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25132:311;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25513:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25743:912;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;35305:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24044:223;24122:7;24169:1;24150:21;;:7;:21;;;;24142:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;24237:9;:13;24247:2;24237:13;;;;;;;;;;;:22;24251:7;24237:22;;;;;;;;;;;;;;;;24230:29;;24044:223;;;;:::o;10069:142::-;10146:4;10170:20;:33;10191:11;10170:33;;;;;;;;;;;;;;;;;;;;;;;;;;;10163:40;;10069:142;;;:::o;36345:423::-;36402:13;36428:23;36454:13;:31;36468:12;:16;36481:2;36468:16;;;;;;;;;;;;36454:31;;;;;;;;;;;36428:57;;36553:25;36587:8;36553:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36637:1;36615:12;:19;:23;36607:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;36750:8;36717:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;36703:57;;;;36345:423;;;:::o;36114:223::-;36224:13;36210:27;;:10;:27;;;36202:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;36296:33;36302:7;36311:2;36315:6;36296:33;;;;;;;;;;;;;;;;;:5;:33::i;:::-;36114:223;;;:::o;26730:1208::-;26983:7;:14;26969:3;:10;:28;26961:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;27075:1;27061:16;;:2;:16;;;;27053:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;27160:12;:10;:12::i;:::-;27152:20;;:4;:20;;;:60;;;;27176:36;27193:4;27199:12;:10;:12::i;:::-;27176:16;:36::i;:::-;27152:60;27130:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;27303:16;27322:12;:10;:12::i;:::-;27303:31;;27347:60;27368:8;27378:4;27384:2;27388:3;27393:7;27402:4;27347:20;:60::i;:::-;27425:9;27437:1;27425:13;;27420:358;27444:3;:10;27440:1;:14;27420:358;;;27476:10;27489:3;27493:1;27489:6;;;;;;;;;;;;;;27476:19;;27510:14;27527:7;27535:1;27527:10;;;;;;;;;;;;;;27510:27;;27576:126;27618:6;27576:126;;;;;;;;;;;;;;;;;:9;:13;27586:2;27576:13;;;;;;;;;;;:19;27590:4;27576:19;;;;;;;;;;;;;;;;:23;;:126;;;;;:::i;:::-;27554:9;:13;27564:2;27554:13;;;;;;;;;;;:19;27568:4;27554:19;;;;;;;;;;;;;;;:148;;;;27737:29;27759:6;27737:9;:13;27747:2;27737:13;;;;;;;;;;;:17;27751:2;27737:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;27717:9;:13;27727:2;27717:13;;;;;;;;;;;:17;27731:2;27717:17;;;;;;;;;;;;;;;:49;;;;27420:358;;27456:3;;;;;27420:358;;;;27825:2;27795:47;;27819:4;27795:47;;27809:8;27795:47;;;27829:3;27834:7;27795:47;;;;;;;:::i;:::-;;;;;;;;27855:75;27891:8;27901:4;27907:2;27911:3;27916:7;27925:4;27855:35;:75::i;:::-;26730:1208;;;;;;:::o;35104:38::-;;;:::o;24443:618::-;24591:16;24652:3;:10;24633:8;:15;:29;24625:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;24721:30;24768:8;:15;24754:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24721:63;;24802:9;24814:1;24802:13;;24797:224;24821:8;:15;24817:1;:19;24797:224;;;24889:1;24866:25;;:8;24875:1;24866:11;;;;;;;;;;;;;;:25;;;;24858:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;24979:9;:17;24989:3;24993:1;24989:6;;;;;;;;;;;;;;24979:17;;;;;;;;;;;:30;24997:8;25006:1;24997:11;;;;;;;;;;;;;;24979:30;;;;;;;;;;;;;;;;24960:13;24974:1;24960:16;;;;;;;;;;;;;:49;;;;;24838:3;;;;;24797:224;;;;25040:13;25033:20;;;24443:618;;;;:::o;35251:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;35815:291::-;35911:13;35897:27;;:10;:27;;;35889:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;36019:1;35999:21;;:12;:16;36012:2;35999:16;;;;;;;;;;;;:21;35991:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;36095:3;36076:12;:16;36089:2;36076:16;;;;;;;;;;;:22;;;;35815:291;;:::o;25132:311::-;25251:8;25235:24;;:12;:10;:12::i;:::-;:24;;;;25227:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;25363:8;25318:18;:32;25337:12;:10;:12::i;:::-;25318:32;;;;;;;;;;;;;;;:42;25351:8;25318:42;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;;;;;;;25416:8;25387:48;;25402:12;:10;:12::i;:::-;25387:48;;;25426:8;25387:48;;;;;;:::i;:::-;;;;;;;;25132:311;;:::o;25513:160::-;25604:4;25628:18;:27;25647:7;25628:27;;;;;;;;;;;;;;;:37;25656:8;25628:37;;;;;;;;;;;;;;;;;;;;;;;;;25621:44;;25513:160;;;;:::o;25743:912::-;25971:1;25957:16;;:2;:16;;;;25949:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;26056:12;:10;:12::i;:::-;26048:20;;:4;:20;;;:60;;;;26072:36;26089:4;26095:12;:10;:12::i;:::-;26072:16;:36::i;:::-;26048:60;26026:151;;;;;;;;;;;;:::i;:::-;;;;;;;;;26190:16;26209:12;:10;:12::i;:::-;26190:31;;26234:96;26255:8;26265:4;26271:2;26275:21;26293:2;26275:17;:21::i;:::-;26298:25;26316:6;26298:17;:25::i;:::-;26325:4;26234:20;:96::i;:::-;26365:77;26389:6;26365:77;;;;;;;;;;;;;;;;;:9;:13;26375:2;26365:13;;;;;;;;;;;:19;26379:4;26365:19;;;;;;;;;;;;;;;;:23;;:77;;;;;:::i;:::-;26343:9;:13;26353:2;26343:13;;;;;;;;;;;:19;26357:4;26343:19;;;;;;;;;;;;;;;:99;;;;26473:29;26495:6;26473:9;:13;26483:2;26473:13;;;;;;;;;;;:17;26487:2;26473:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;26453:9;:13;26463:2;26453:13;;;;;;;;;;;:17;26467:2;26453:17;;;;;;;;;;;;;;;:49;;;;26551:2;26520:46;;26545:4;26520:46;;26535:8;26520:46;;;26555:2;26559:6;26520:46;;;;;;;:::i;:::-;;;;;;;;26579:68;26610:8;26620:4;26626:2;26630;26634:6;26642:4;26579:30;:68::i;:::-;25743:912;;;;;;:::o;35305:47::-;;;;;;;;;;;;;;;;;:::o;28352:583::-;28486:1;28467:21;;:7;:21;;;;28459:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;28539:16;28558:12;:10;:12::i;:::-;28539:31;;28583:107;28604:8;28622:1;28626:7;28635:21;28653:2;28635:17;:21::i;:::-;28658:25;28676:6;28658:17;:25::i;:::-;28685:4;28583:20;:107::i;:::-;28728:34;28755:6;28728:9;:13;28738:2;28728:13;;;;;;;;;;;:22;28742:7;28728:22;;;;;;;;;;;;;;;;:26;;:34;;;;:::i;:::-;28703:9;:13;28713:2;28703:13;;;;;;;;;;;:22;28717:7;28703:22;;;;;;;;;;;;;;;:59;;;;28815:7;28778:57;;28811:1;28778:57;;28793:8;28778:57;;;28824:2;28828:6;28778:57;;;;;;;:::i;:::-;;;;;;;;28848:79;28879:8;28897:1;28901:7;28910:2;28914:6;28922:4;28848:30;:79::i;:::-;28352:583;;;;;:::o;8732:106::-;8785:15;8820:10;8813:17;;8732:106;:::o;32764:232::-;;;;;;;:::o;12650:192::-;12736:7;12769:1;12764;:6;;12772:12;12756:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;12796:9;12812:1;12808;:5;12796:17;;12833:1;12826:8;;;12650:192;;;;;:::o;11747:181::-;11805:7;11825:9;11841:1;11837;:5;11825:17;;11866:1;11861;:6;;11853:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;11919:1;11912:8;;;11747:181;;;;:::o;33770:795::-;34020:15;:2;:13;;;:15::i;:::-;34016:542;;;34073:2;34056:43;;;34100:8;34110:4;34116:3;34121:7;34130:4;34056:79;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;34052:495;;;;:::i;:::-;;;;;;;;34420:6;34413:14;;;;;;;;;;;:::i;:::-;;;;;;;;34052:495;34469:62;;;;;;;;;;:::i;:::-;;;;;;;;34052:495;34197:52;;;34185:64;;;:8;:64;;;;34181:163;;34274:50;;;;;;;;;;:::i;:::-;;;;;;;;34181:163;34136:223;34016:542;33770:795;;;;;;:::o;34573:198::-;34639:16;34668:22;34707:1;34693:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34668:41;;34731:7;34720:5;34726:1;34720:8;;;;;;;;;;;;;:18;;;;;34758:5;34751:12;;;34573:198;;;:::o;33004:758::-;33229:15;:2;:13;;;:15::i;:::-;33225:530;;;33282:2;33265:38;;;33304:8;33314:4;33320:2;33324:6;33332:4;33265:72;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;33261:483;;;;:::i;:::-;;;;;;;;33617:6;33610:14;;;;;;;;;;;:::i;:::-;;;;;;;;33261:483;33666:62;;;;;;;;;;:::i;:::-;;;;;;;;33261:483;33399:47;;;33387:59;;;:8;:59;;;;33383:158;;33471:50;;;;;;;;;;:::i;:::-;;;;;;;;33383:158;33338:218;33225:530;33004:758;;;;;;:::o;16969:422::-;17029:4;17237:12;17348:7;17336:20;17328:28;;17382:1;17375:4;:8;17368:15;;;16969:422;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;:::i;:::-;57:78;;;;:::o;160:707::-;;277:3;270:4;262:6;258:17;254:27;244:2;;295:1;292;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;:::i;:::-;354:80;:::i;:::-;345:89;;451:5;476:6;469:5;462:21;506:4;498:6;494:17;484:27;;528:4;523:3;519:14;512:21;;581:6;628:3;620:4;612:6;608:17;603:3;599:27;596:36;593:2;;;645:1;642;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;738:3;760:37;793:3;781:10;760:37;:::i;:::-;755:3;748:50;821:4;816:3;812:14;805:21;;849:4;844:3;840:14;833:21;;712:149;702:1;699;695:9;690:14;;655:206;;;659:14;237:630;;;;;;;:::o;893:707::-;;1010:3;1003:4;995:6;991:17;987:27;977:2;;1028:1;1025;1018:12;977:2;1065:6;1052:20;1087:80;1102:64;1159:6;1102:64;:::i;:::-;1087:80;:::i;:::-;1078:89;;1184:5;1209:6;1202:5;1195:21;1239:4;1231:6;1227:17;1217:27;;1261:4;1256:3;1252:14;1245:21;;1314:6;1361:3;1353:4;1345:6;1341:17;1336:3;1332:27;1329:36;1326:2;;;1378:1;1375;1368:12;1326:2;1403:1;1388:206;1413:6;1410:1;1407:13;1388:206;;;1471:3;1493:37;1526:3;1514:10;1493:37;:::i;:::-;1488:3;1481:50;1554:4;1549:3;1545:14;1538:21;;1582:4;1577:3;1573:14;1566:21;;1445:149;1435:1;1432;1428:9;1423:14;;1388:206;;;1392:14;970:630;;;;;;;:::o;1608:124::-;;1685:6;1672:20;1663:29;;1697:30;1721:5;1697:30;:::i;:::-;1657:75;;;;:::o;1739:130::-;;1819:6;1806:20;1797:29;;1831:33;1858:5;1831:33;:::i;:::-;1791:78;;;;:::o;1876:128::-;;1955:6;1942:20;1933:29;;1967:32;1993:5;1967:32;:::i;:::-;1927:77;;;;:::o;2011:132::-;;2094:6;2088:13;2079:22;;2106:32;2132:5;2106:32;:::i;:::-;2073:70;;;;:::o;2151:440::-;;2252:3;2245:4;2237:6;2233:17;2229:27;2219:2;;2270:1;2267;2260:12;2219:2;2307:6;2294:20;2329:64;2344:48;2385:6;2344:48;:::i;:::-;2329:64;:::i;:::-;2320:73;;2413:6;2406:5;2399:21;2449:4;2441:6;2437:17;2482:4;2475:5;2471:16;2517:3;2508:6;2503:3;2499:16;2496:25;2493:2;;;2534:1;2531;2524:12;2493:2;2544:41;2578:6;2573:3;2568;2544:41;:::i;:::-;2212:379;;;;;;;:::o;2599:130::-;;2679:6;2666:20;2657:29;;2691:33;2718:5;2691:33;:::i;:::-;2651:78;;;;:::o;2736:366::-;;;2857:2;2845:9;2836:7;2832:23;2828:32;2825:2;;;2873:1;2870;2863:12;2825:2;2908:1;2925:53;2970:7;2961:6;2950:9;2946:22;2925:53;:::i;:::-;2915:63;;2887:97;3015:2;3033:53;3078:7;3069:6;3058:9;3054:22;3033:53;:::i;:::-;3023:63;;2994:98;2819:283;;;;;:::o;3109:1119::-;;;;;;3340:3;3328:9;3319:7;3315:23;3311:33;3308:2;;;3357:1;3354;3347:12;3308:2;3392:1;3409:53;3454:7;3445:6;3434:9;3430:22;3409:53;:::i;:::-;3399:63;;3371:97;3499:2;3517:53;3562:7;3553:6;3542:9;3538:22;3517:53;:::i;:::-;3507:63;;3478:98;3635:2;3624:9;3620:18;3607:32;3659:18;3651:6;3648:30;3645:2;;;3691:1;3688;3681:12;3645:2;3711:78;3781:7;3772:6;3761:9;3757:22;3711:78;:::i;:::-;3701:88;;3586:209;3854:2;3843:9;3839:18;3826:32;3878:18;3870:6;3867:30;3864:2;;;3910:1;3907;3900:12;3864:2;3930:78;4000:7;3991:6;3980:9;3976:22;3930:78;:::i;:::-;3920:88;;3805:209;4073:3;4062:9;4058:19;4045:33;4098:18;4090:6;4087:30;4084:2;;;4130:1;4127;4120:12;4084:2;4150:62;4204:7;4195:6;4184:9;4180:22;4150:62;:::i;:::-;4140:72;;4024:194;3302:926;;;;;;;;:::o;4235:847::-;;;;;;4416:3;4404:9;4395:7;4391:23;4387:33;4384:2;;;4433:1;4430;4423:12;4384:2;4468:1;4485:53;4530:7;4521:6;4510:9;4506:22;4485:53;:::i;:::-;4475:63;;4447:97;4575:2;4593:53;4638:7;4629:6;4618:9;4614:22;4593:53;:::i;:::-;4583:63;;4554:98;4683:2;4701:53;4746:7;4737:6;4726:9;4722:22;4701:53;:::i;:::-;4691:63;;4662:98;4791:2;4809:53;4854:7;4845:6;4834:9;4830:22;4809:53;:::i;:::-;4799:63;;4770:98;4927:3;4916:9;4912:19;4899:33;4952:18;4944:6;4941:30;4938:2;;;4984:1;4981;4974:12;4938:2;5004:62;5058:7;5049:6;5038:9;5034:22;5004:62;:::i;:::-;4994:72;;4878:194;4378:704;;;;;;;;:::o;5089:360::-;;;5207:2;5195:9;5186:7;5182:23;5178:32;5175:2;;;5223:1;5220;5213:12;5175:2;5258:1;5275:53;5320:7;5311:6;5300:9;5296:22;5275:53;:::i;:::-;5265:63;;5237:97;5365:2;5383:50;5425:7;5416:6;5405:9;5401:22;5383:50;:::i;:::-;5373:60;;5344:95;5169:280;;;;;:::o;5456:366::-;;;5577:2;5565:9;5556:7;5552:23;5548:32;5545:2;;;5593:1;5590;5583:12;5545:2;5628:1;5645:53;5690:7;5681:6;5670:9;5666:22;5645:53;:::i;:::-;5635:63;;5607:97;5735:2;5753:53;5798:7;5789:6;5778:9;5774:22;5753:53;:::i;:::-;5743:63;;5714:98;5539:283;;;;;:::o;5829:491::-;;;;5967:2;5955:9;5946:7;5942:23;5938:32;5935:2;;;5983:1;5980;5973:12;5935:2;6018:1;6035:53;6080:7;6071:6;6060:9;6056:22;6035:53;:::i;:::-;6025:63;;5997:97;6125:2;6143:53;6188:7;6179:6;6168:9;6164:22;6143:53;:::i;:::-;6133:63;;6104:98;6233:2;6251:53;6296:7;6287:6;6276:9;6272:22;6251:53;:::i;:::-;6241:63;;6212:98;5929:391;;;;;:::o;6327:638::-;;;6498:2;6486:9;6477:7;6473:23;6469:32;6466:2;;;6514:1;6511;6504:12;6466:2;6577:1;6566:9;6562:17;6549:31;6600:18;6592:6;6589:30;6586:2;;;6632:1;6629;6622:12;6586:2;6652:78;6722:7;6713:6;6702:9;6698:22;6652:78;:::i;:::-;6642:88;;6528:208;6795:2;6784:9;6780:18;6767:32;6819:18;6811:6;6808:30;6805:2;;;6851:1;6848;6841:12;6805:2;6871:78;6941:7;6932:6;6921:9;6917:22;6871:78;:::i;:::-;6861:88;;6746:209;6460:505;;;;;:::o;6972:241::-;;7076:2;7064:9;7055:7;7051:23;7047:32;7044:2;;;7092:1;7089;7082:12;7044:2;7127:1;7144:53;7189:7;7180:6;7169:9;7165:22;7144:53;:::i;:::-;7134:63;;7106:97;7038:175;;;;:::o;7220:239::-;;7323:2;7311:9;7302:7;7298:23;7294:32;7291:2;;;7339:1;7336;7329:12;7291:2;7374:1;7391:52;7435:7;7426:6;7415:9;7411:22;7391:52;:::i;:::-;7381:62;;7353:96;7285:174;;;;:::o;7466:261::-;;7580:2;7568:9;7559:7;7555:23;7551:32;7548:2;;;7596:1;7593;7586:12;7548:2;7631:1;7648:63;7703:7;7694:6;7683:9;7679:22;7648:63;:::i;:::-;7638:73;;7610:107;7542:185;;;;:::o;7734:241::-;;7838:2;7826:9;7817:7;7813:23;7809:32;7806:2;;;7854:1;7851;7844:12;7806:2;7889:1;7906:53;7951:7;7942:6;7931:9;7927:22;7906:53;:::i;:::-;7896:63;;7868:97;7800:175;;;;:::o;7982:366::-;;;8103:2;8091:9;8082:7;8078:23;8074:32;8071:2;;;8119:1;8116;8109:12;8071:2;8154:1;8171:53;8216:7;8207:6;8196:9;8192:22;8171:53;:::i;:::-;8161:63;;8133:97;8261:2;8279:53;8324:7;8315:6;8304:9;8300:22;8279:53;:::i;:::-;8269:63;;8240:98;8065:283;;;;;:::o;8356:173::-;;8443:46;8485:3;8477:6;8443:46;:::i;:::-;8518:4;8513:3;8509:14;8495:28;;8436:93;;;;:::o;8537:113::-;8620:24;8638:5;8620:24;:::i;:::-;8615:3;8608:37;8602:48;;:::o;8688:690::-;;8833:54;8881:5;8833:54;:::i;:::-;8900:86;8979:6;8974:3;8900:86;:::i;:::-;8893:93;;9007:56;9057:5;9007:56;:::i;:::-;9083:7;9111:1;9096:260;9121:6;9118:1;9115:13;9096:260;;;9188:6;9182:13;9209:63;9268:3;9253:13;9209:63;:::i;:::-;9202:70;;9289:60;9342:6;9289:60;:::i;:::-;9279:70;;9153:203;9143:1;9140;9136:9;9131:14;;9096:260;;;9100:14;9369:3;9362:10;;8812:566;;;;;;;:::o;9386:104::-;9463:21;9478:5;9463:21;:::i;:::-;9458:3;9451:34;9445:45;;:::o;9497:113::-;9580:24;9598:5;9580:24;:::i;:::-;9575:3;9568:37;9562:48;;:::o;9617:343::-;;9727:38;9759:5;9727:38;:::i;:::-;9777:70;9840:6;9835:3;9777:70;:::i;:::-;9770:77;;9852:52;9897:6;9892:3;9885:4;9878:5;9874:16;9852:52;:::i;:::-;9925:29;9947:6;9925:29;:::i;:::-;9920:3;9916:39;9909:46;;9707:253;;;;;:::o;9967:347::-;;10079:39;10112:5;10079:39;:::i;:::-;10130:71;10194:6;10189:3;10130:71;:::i;:::-;10123:78;;10206:52;10251:6;10246:3;10239:4;10232:5;10228:16;10206:52;:::i;:::-;10279:29;10301:6;10279:29;:::i;:::-;10274:3;10270:39;10263:46;;10059:255;;;;;:::o;10346:892::-;;10487:5;10481:12;10521:1;10510:9;10506:17;10534:1;10529:268;;;;10808:1;10803:429;;;;10499:733;;10529:268;10607:4;10603:1;10592:9;10588:17;10584:28;10626:89;10708:6;10703:3;10626:89;:::i;:::-;10619:96;;10753:4;10749:9;10738;10734:25;10729:3;10722:38;10783:6;10778:3;10774:16;10767:23;;10536:261;10529:268;;10803:429;10872:1;10861:9;10857:17;10888:89;10970:6;10965:3;10888:89;:::i;:::-;10881:96;;10999:42;11035:5;10999:42;:::i;:::-;11057:1;11065:130;11079:6;11076:1;11073:13;11065:130;;;11144:7;11138:14;11134:1;11129:3;11125:11;11118:35;11185:1;11176:7;11172:15;11161:26;;11101:4;11098:1;11094:12;11089:17;;11065:130;;;11218:6;11213:3;11209:16;11202:23;;10810:422;;;10499:733;;10457:781;;;;;:::o;11247:389::-;;11407:67;11471:2;11466:3;11407:67;:::i;:::-;11400:74;;11507:34;11503:1;11498:3;11494:11;11487:55;11576:22;11571:2;11566:3;11562:12;11555:44;11627:2;11622:3;11618:12;11611:19;;11393:243;;;:::o;11645:377::-;;11805:67;11869:2;11864:3;11805:67;:::i;:::-;11798:74;;11905:34;11901:1;11896:3;11892:11;11885:55;11974:10;11969:2;11964:3;11960:12;11953:32;12013:2;12008:3;12004:12;11997:19;;11791:231;;;:::o;12031:380::-;;12191:67;12255:2;12250:3;12191:67;:::i;:::-;12184:74;;12291:34;12287:1;12282:3;12278:11;12271:55;12360:13;12355:2;12350:3;12346:12;12339:35;12402:2;12397:3;12393:12;12386:19;;12177:234;;;:::o;12420:386::-;;12580:67;12644:2;12639:3;12580:67;:::i;:::-;12573:74;;12680:34;12676:1;12671:3;12667:11;12660:55;12749:19;12744:2;12739:3;12735:12;12728:41;12797:2;12792:3;12788:12;12781:19;;12566:240;;;:::o;12815:327::-;;12975:67;13039:2;13034:3;12975:67;:::i;:::-;12968:74;;13075:29;13071:1;13066:3;13062:11;13055:50;13133:2;13128:3;13124:12;13117:19;;12961:181;;;:::o;13151:378::-;;13311:67;13375:2;13370:3;13311:67;:::i;:::-;13304:74;;13411:34;13407:1;13402:3;13398:11;13391:55;13480:11;13475:2;13470:3;13466:12;13459:33;13520:2;13515:3;13511:12;13504:19;;13297:232;;;:::o;13538:374::-;;13698:67;13762:2;13757:3;13698:67;:::i;:::-;13691:74;;13798:34;13794:1;13789:3;13785:11;13778:55;13867:7;13862:2;13857:3;13853:12;13846:29;13903:2;13898:3;13894:12;13887:19;;13684:228;;;:::o;13921:387::-;;14081:67;14145:2;14140:3;14081:67;:::i;:::-;14074:74;;14181:34;14177:1;14172:3;14168:11;14161:55;14250:20;14245:2;14240:3;14236:12;14229:42;14299:2;14294:3;14290:12;14283:19;;14067:241;;;:::o;14317:375::-;;14477:67;14541:2;14536:3;14477:67;:::i;:::-;14470:74;;14577:34;14573:1;14568:3;14564:11;14557:55;14646:8;14641:2;14636:3;14632:12;14625:30;14683:2;14678:3;14674:12;14667:19;;14463:229;;;:::o;14701:348::-;;14879:85;14961:2;14956:3;14879:85;:::i;:::-;14872:92;;14997:14;14993:1;14988:3;14984:11;14977:35;15040:2;15035:3;15031:12;15024:19;;14865:184;;;:::o;15058:378::-;;15218:67;15282:2;15277:3;15218:67;:::i;:::-;15211:74;;15318:34;15314:1;15309:3;15305:11;15298:55;15387:11;15382:2;15377:3;15373:12;15366:33;15427:2;15422:3;15418:12;15411:19;;15204:232;;;:::o;15445:378::-;;15605:67;15669:2;15664:3;15605:67;:::i;:::-;15598:74;;15705:34;15701:1;15696:3;15692:11;15685:55;15774:11;15769:2;15764:3;15760:12;15753:33;15814:2;15809:3;15805:12;15798:19;;15591:232;;;:::o;15832:378::-;;15992:67;16056:2;16051:3;15992:67;:::i;:::-;15985:74;;16092:34;16088:1;16083:3;16079:11;16072:55;16161:11;16156:2;16151:3;16147:12;16140:33;16201:2;16196:3;16192:12;16185:19;;15978:232;;;:::o;16219:377::-;;16379:67;16443:2;16438:3;16379:67;:::i;:::-;16372:74;;16479:34;16475:1;16470:3;16466:11;16459:55;16548:10;16543:2;16538:3;16534:12;16527:32;16587:2;16582:3;16578:12;16571:19;;16365:231;;;:::o;16605:370::-;;16765:67;16829:2;16824:3;16765:67;:::i;:::-;16758:74;;16865:34;16861:1;16856:3;16852:11;16845:55;16934:3;16929:2;16924:3;16920:12;16913:25;16966:2;16961:3;16957:12;16950:19;;16751:224;;;:::o;16984:384::-;;17144:67;17208:2;17203:3;17144:67;:::i;:::-;17137:74;;17244:34;17240:1;17235:3;17231:11;17224:55;17313:17;17308:2;17303:3;17299:12;17292:39;17359:2;17354:3;17350:12;17343:19;;17130:238;;;:::o;17377:386::-;;17537:67;17601:2;17596:3;17537:67;:::i;:::-;17530:74;;17637:34;17633:1;17628:3;17624:11;17617:55;17706:19;17701:2;17696:3;17692:12;17685:41;17754:2;17749:3;17745:12;17738:19;;17523:240;;;:::o;17771:103::-;17844:24;17862:5;17844:24;:::i;:::-;17839:3;17832:37;17826:48;;:::o;17881:113::-;17964:24;17982:5;17964:24;:::i;:::-;17959:3;17952:37;17946:48;;:::o;18001:544::-;;18258:148;18402:3;18258:148;:::i;:::-;18251:155;;18424:96;18516:3;18507:6;18424:96;:::i;:::-;18417:103;;18537:3;18530:10;;18239:306;;;;:::o;18552:222::-;;18679:2;18668:9;18664:18;18656:26;;18693:71;18761:1;18750:9;18746:17;18737:6;18693:71;:::i;:::-;18650:124;;;;:::o;18781:1048::-;;19138:3;19127:9;19123:19;19115:27;;19153:71;19221:1;19210:9;19206:17;19197:6;19153:71;:::i;:::-;19235:72;19303:2;19292:9;19288:18;19279:6;19235:72;:::i;:::-;19355:9;19349:4;19345:20;19340:2;19329:9;19325:18;19318:48;19380:108;19483:4;19474:6;19380:108;:::i;:::-;19372:116;;19536:9;19530:4;19526:20;19521:2;19510:9;19506:18;19499:48;19561:108;19664:4;19655:6;19561:108;:::i;:::-;19553:116;;19718:9;19712:4;19708:20;19702:3;19691:9;19687:19;19680:49;19743:76;19814:4;19805:6;19743:76;:::i;:::-;19735:84;;19109:720;;;;;;;;:::o;19836:752::-;;20093:3;20082:9;20078:19;20070:27;;20108:71;20176:1;20165:9;20161:17;20152:6;20108:71;:::i;:::-;20190:72;20258:2;20247:9;20243:18;20234:6;20190:72;:::i;:::-;20273;20341:2;20330:9;20326:18;20317:6;20273:72;:::i;:::-;20356;20424:2;20413:9;20409:18;20400:6;20356:72;:::i;:::-;20477:9;20471:4;20467:20;20461:3;20450:9;20446:19;20439:49;20502:76;20573:4;20564:6;20502:76;:::i;:::-;20494:84;;20064:524;;;;;;;;:::o;20595:370::-;;20772:2;20761:9;20757:18;20749:26;;20822:9;20816:4;20812:20;20808:1;20797:9;20793:17;20786:47;20847:108;20950:4;20941:6;20847:108;:::i;:::-;20839:116;;20743:222;;;;:::o;20972:629::-;;21227:2;21216:9;21212:18;21204:26;;21277:9;21271:4;21267:20;21263:1;21252:9;21248:17;21241:47;21302:108;21405:4;21396:6;21302:108;:::i;:::-;21294:116;;21458:9;21452:4;21448:20;21443:2;21432:9;21428:18;21421:48;21483:108;21586:4;21577:6;21483:108;:::i;:::-;21475:116;;21198:403;;;;;:::o;21608:210::-;;21729:2;21718:9;21714:18;21706:26;;21743:65;21805:1;21794:9;21790:17;21781:6;21743:65;:::i;:::-;21700:118;;;;:::o;21825:222::-;;21952:2;21941:9;21937:18;21929:26;;21966:71;22034:1;22023:9;22019:17;22010:6;21966:71;:::i;:::-;21923:124;;;;:::o;22054:310::-;;22201:2;22190:9;22186:18;22178:26;;22251:9;22245:4;22241:20;22237:1;22226:9;22222:17;22215:47;22276:78;22349:4;22340:6;22276:78;:::i;:::-;22268:86;;22172:192;;;;:::o;22371:416::-;;22571:2;22560:9;22556:18;22548:26;;22621:9;22615:4;22611:20;22607:1;22596:9;22592:17;22585:47;22646:131;22772:4;22646:131;:::i;:::-;22638:139;;22542:245;;;:::o;22794:416::-;;22994:2;22983:9;22979:18;22971:26;;23044:9;23038:4;23034:20;23030:1;23019:9;23015:17;23008:47;23069:131;23195:4;23069:131;:::i;:::-;23061:139;;22965:245;;;:::o;23217:416::-;;23417:2;23406:9;23402:18;23394:26;;23467:9;23461:4;23457:20;23453:1;23442:9;23438:17;23431:47;23492:131;23618:4;23492:131;:::i;:::-;23484:139;;23388:245;;;:::o;23640:416::-;;23840:2;23829:9;23825:18;23817:26;;23890:9;23884:4;23880:20;23876:1;23865:9;23861:17;23854:47;23915:131;24041:4;23915:131;:::i;:::-;23907:139;;23811:245;;;:::o;24063:416::-;;24263:2;24252:9;24248:18;24240:26;;24313:9;24307:4;24303:20;24299:1;24288:9;24284:17;24277:47;24338:131;24464:4;24338:131;:::i;:::-;24330:139;;24234:245;;;:::o;24486:416::-;;24686:2;24675:9;24671:18;24663:26;;24736:9;24730:4;24726:20;24722:1;24711:9;24707:17;24700:47;24761:131;24887:4;24761:131;:::i;:::-;24753:139;;24657:245;;;:::o;24909:416::-;;25109:2;25098:9;25094:18;25086:26;;25159:9;25153:4;25149:20;25145:1;25134:9;25130:17;25123:47;25184:131;25310:4;25184:131;:::i;:::-;25176:139;;25080:245;;;:::o;25332:416::-;;25532:2;25521:9;25517:18;25509:26;;25582:9;25576:4;25572:20;25568:1;25557:9;25553:17;25546:47;25607:131;25733:4;25607:131;:::i;:::-;25599:139;;25503:245;;;:::o;25755:416::-;;25955:2;25944:9;25940:18;25932:26;;26005:9;25999:4;25995:20;25991:1;25980:9;25976:17;25969:47;26030:131;26156:4;26030:131;:::i;:::-;26022:139;;25926:245;;;:::o;26178:416::-;;26378:2;26367:9;26363:18;26355:26;;26428:9;26422:4;26418:20;26414:1;26403:9;26399:17;26392:47;26453:131;26579:4;26453:131;:::i;:::-;26445:139;;26349:245;;;:::o;26601:416::-;;26801:2;26790:9;26786:18;26778:26;;26851:9;26845:4;26841:20;26837:1;26826:9;26822:17;26815:47;26876:131;27002:4;26876:131;:::i;:::-;26868:139;;26772:245;;;:::o;27024:416::-;;27224:2;27213:9;27209:18;27201:26;;27274:9;27268:4;27264:20;27260:1;27249:9;27245:17;27238:47;27299:131;27425:4;27299:131;:::i;:::-;27291:139;;27195:245;;;:::o;27447:416::-;;27647:2;27636:9;27632:18;27624:26;;27697:9;27691:4;27687:20;27683:1;27672:9;27668:17;27661:47;27722:131;27848:4;27722:131;:::i;:::-;27714:139;;27618:245;;;:::o;27870:416::-;;28070:2;28059:9;28055:18;28047:26;;28120:9;28114:4;28110:20;28106:1;28095:9;28091:17;28084:47;28145:131;28271:4;28145:131;:::i;:::-;28137:139;;28041:245;;;:::o;28293:416::-;;28493:2;28482:9;28478:18;28470:26;;28543:9;28537:4;28533:20;28529:1;28518:9;28514:17;28507:47;28568:131;28694:4;28568:131;:::i;:::-;28560:139;;28464:245;;;:::o;28716:416::-;;28916:2;28905:9;28901:18;28893:26;;28966:9;28960:4;28956:20;28952:1;28941:9;28937:17;28930:47;28991:131;29117:4;28991:131;:::i;:::-;28983:139;;28887:245;;;:::o;29139:222::-;;29266:2;29255:9;29251:18;29243:26;;29280:71;29348:1;29337:9;29333:17;29324:6;29280:71;:::i;:::-;29237:124;;;;:::o;29368:333::-;;29523:2;29512:9;29508:18;29500:26;;29537:71;29605:1;29594:9;29590:17;29581:6;29537:71;:::i;:::-;29619:72;29687:2;29676:9;29672:18;29663:6;29619:72;:::i;:::-;29494:207;;;;;:::o;29708:256::-;;29770:2;29764:9;29754:19;;29808:4;29800:6;29796:17;29907:6;29895:10;29892:22;29871:18;29859:10;29856:34;29853:62;29850:2;;;29928:1;29925;29918:12;29850:2;29948:10;29944:2;29937:22;29748:216;;;;:::o;29971:304::-;;30130:18;30122:6;30119:30;30116:2;;;30162:1;30159;30152:12;30116:2;30197:4;30189:6;30185:17;30177:25;;30260:4;30254;30250:15;30242:23;;30053:222;;;:::o;30282:304::-;;30441:18;30433:6;30430:30;30427:2;;;30473:1;30470;30463:12;30427:2;30508:4;30500:6;30496:17;30488:25;;30571:4;30565;30561:15;30553:23;;30364:222;;;:::o;30593:321::-;;30736:18;30728:6;30725:30;30722:2;;;30768:1;30765;30758:12;30722:2;30835:4;30831:9;30824:4;30816:6;30812:17;30808:33;30800:41;;30899:4;30893;30889:15;30881:23;;30659:255;;;:::o;30921:151::-;;31007:3;30999:11;;31045:4;31040:3;31036:14;31028:22;;30993:79;;;:::o;31079:162::-;;31151:3;31143:11;;31188:3;31185:1;31178:14;31220:4;31217:1;31207:18;31199:26;;31137:104;;;:::o;31248:137::-;;31357:5;31351:12;31341:22;;31322:63;;;:::o;31392:121::-;;31485:5;31479:12;31469:22;;31450:63;;;:::o;31520:122::-;;31614:5;31608:12;31598:22;;31579:63;;;:::o;31649:108::-;;31747:4;31742:3;31738:14;31730:22;;31724:33;;;:::o;31765:178::-;;31895:6;31890:3;31883:19;31932:4;31927:3;31923:14;31908:29;;31876:67;;;;:::o;31952:162::-;;32066:6;32061:3;32054:19;32103:4;32098:3;32094:14;32079:29;;32047:67;;;;:::o;32123:163::-;;32238:6;32233:3;32226:19;32275:4;32270:3;32266:14;32251:29;;32219:67;;;;:::o;32295:145::-;;32431:3;32416:18;;32409:31;;;;:::o;32448:91::-;;32510:24;32528:5;32510:24;:::i;:::-;32499:35;;32493:46;;;:::o;32546:85::-;;32619:5;32612:13;32605:21;32594:32;;32588:43;;;:::o;32638:72::-;;32700:5;32689:16;;32683:27;;;:::o;32717:144::-;;32789:66;32782:5;32778:78;32767:89;;32761:100;;;:::o;32868:121::-;;32941:42;32934:5;32930:54;32919:65;;32913:76;;;:::o;32996:72::-;;33058:5;33047:16;;33041:27;;;:::o;33076:145::-;33157:6;33152:3;33147;33134:30;33213:1;33204:6;33199:3;33195:16;33188:27;33127:94;;;:::o;33230:268::-;33295:1;33302:101;33316:6;33313:1;33310:13;33302:101;;;33392:1;33387:3;33383:11;33377:18;33373:1;33368:3;33364:11;33357:39;33338:2;33335:1;33331:10;33326:15;;33302:101;;;33418:6;33415:1;33412:13;33409:2;;;33483:1;33474:6;33469:3;33465:16;33458:27;33409:2;33279:219;;;;:::o;33506:97::-;;33594:2;33590:7;33585:2;33578:5;33574:14;33570:28;33560:38;;33554:49;;;:::o;33611:106::-;;33701:5;33696:3;33692:15;33670:37;;33664:53;;;:::o;33725:739::-;;33798:4;33780:16;33777:26;33774:2;;;33806:5;;33774:2;33840:1;33837;33834;33819:23;33858:34;33889:1;33883:8;33858:34;:::i;:::-;33915:10;33910:3;33907:19;33897:2;;33930:5;;;33897:2;33961;33955:9;34015:1;33997:16;33993:24;33990:1;33984:4;33969:49;34044:4;34038:11;34125:16;34118:4;34110:6;34106:17;34103:39;34077:18;34069:6;34066:30;34057:91;34054:2;;;34156:5;;;;;34054:2;34194:6;34188:4;34184:17;34226:3;34220:10;34249:18;34241:6;34238:30;34235:2;;;34271:5;;;;;;;34235:2;34315:6;34308:4;34303:3;34299:14;34295:27;34348:16;34342:4;34338:27;34333:3;34330:36;34327:2;;;34369:5;;;;;;;;34327:2;34413:29;34435:6;34413:29;:::i;:::-;34406:4;34401:3;34397:14;34393:50;34389:2;34382:62;34456:3;34449:10;;33768:696;;;;;;;;:::o;34471:117::-;34540:24;34558:5;34540:24;:::i;:::-;34533:5;34530:35;34520:2;;34579:1;34576;34569:12;34520:2;34514:74;:::o;34595:111::-;34661:21;34676:5;34661:21;:::i;:::-;34654:5;34651:32;34641:2;;34697:1;34694;34687:12;34641:2;34635:71;:::o;34713:117::-;34782:24;34800:5;34782:24;:::i;:::-;34775:5;34772:35;34762:2;;34821:1;34818;34811:12;34762:2;34756:74;:::o;34837:115::-;34905:23;34922:5;34905:23;:::i;:::-;34898:5;34895:34;34885:2;;34943:1;34940;34933:12;34885:2;34879:73;:::o;34959:117::-;35028:24;35046:5;35028:24;:::i;:::-;35021:5;35018:35;35008:2;;35067:1;35064;35057:12;35008:2;35002:74;:::o

Swarm Source

ipfs://0244ed7ad35b76642cde18eaae5783393d8fea05daba6d86ef2f209c09385487
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.