code: def _get_ep_info(filepath):
      """Get epoch info."""
      _soft_import("defusedxml", "reading EGI MFF data")
      from defusedxml.minidom import parse
  
      epochfile = filepath + "/epochs.xml"
      epochlist = parse(epochfile)
      epochs = epochlist.getElementsByTagName("epoch")
      keys = (
          "first_samps",
          "last_samps",
          "first_blocks",
          "last_blocks",
      )
      epoch_info = {key: list() for key in keys}
      for epoch in epochs:
          ep_begin = int(
              epoch.getElementsByTagName("beginTime")[0].firstChild.data
          )
          ep_end = int(
              epoch.getElementsByTagName("endTime")[0].firstChild.data
          )
          first_block = int(
              epoch.getElementsByTagName("firstBlock")[
                  0
              ].firstChild.data
          )
          last_block = int(
              epoch.getElementsByTagName("lastBlock")[0].firstChild.data
          )
          epoch_info["first_samps"].append(ep_begin)
          epoch_info["last_samps"].append(ep_end)
          epoch_info["first_blocks"].append(first_block)
          epoch_info["last_blocks"].append(last_block)
      # Don't turn into ndarray here, keep native int because it can deal with
      # huge numbers (could use np.uint64 but it's more work)
      return epoch_info
  
file_path: mne-python/mne/io/egi/general.py
imports: import os
  import re
  import numpy
  from ...utils import _pl, _soft_import
label_desc: Use image node_id 3 for calling a global function with example usage: _get_ep_info(filepath) and returns: epoch_info