class_docstr: The schema file specifies information about what metrics we want to specify,
  but it doesn't specify full `MetricName`s.  Instead, it specifies enough
  information in a `MetricNameMatcher` to pull out the relevant
  `MetricName`s.
code: def substitute(
      self, environment: Dict[str, str]
  ) -> "MetricNameMatcher":
      return MetricNameMatcher(
          name=mako.template.Template(self.name).render(**environment),
          split=mako.template.Template(self.split).render(
              **environment
          ),
          perturbation_name=mako.template.Template(
              self.perturbation_name
          ).render(**environment)
          if self.perturbation_name is not None
          else None,
      )
  
imports: from dataclasses import dataclass, field
  from datetime import date
  from typing import List, Optional, Dict
  import dacite
  import mako.template
  import yaml
  import importlib_resources
  from helm.common.general import hlog
  from helm.benchmark.metrics.metric_name import MetricName
  from helm.benchmark.augmentations.perturbation_description import PERTURBATION_WORST
label_desc: Use image node_id 2 for calling the MetricNameMatcher obj's underlying member method code with example usage: obj.substitute(environment) and returns: MetricNameMatcher