code: def parse_configuration(
      distribution, command_options, ignore_option_errors=False
  ):
      """Performs additional parsing of configuration options
      for a distribution.
  
      Returns a list of used option handlers.
  
      :param Distribution distribution:
      :param dict command_options:
      :param bool ignore_option_errors: Whether to silently ignore
          options, values of which could not be resolved (e.g. due to exceptions
          in directives such as file:, attr:, etc.).
          If False exceptions are propagated as expected.
      :rtype: list
      """
      options = ConfigOptionsHandler(
          distribution, command_options, ignore_option_errors
      )
      options.parse()
  
      meta = ConfigMetadataHandler(
          distribution.metadata,
          command_options,
          ignore_option_errors,
          distribution.package_dir,
      )
      meta.parse()
  
      return meta, options
  
imports: from __future__ import absolute_import, unicode_literals
  import io
  import os
  import sys
  import warnings
  import functools
  from collections import defaultdict
  from functools import partial
  from functools import wraps
  from importlib import import_module
  from distutils.errors import DistutilsOptionError, DistutilsFileError
  from setuptools.extern.packaging.version import LegacyVersion, parse
  from setuptools.extern.packaging.specifiers import SpecifierSet
  from setuptools.extern.six import string_types, PY3
label_desc: Use image node_id 4 for calling a global function with example usage: parse_configuration(distribution, command_options, ignore_option_errors) and returns: meta,  options