class_docstr: Class used to compile steps. Should be instantiated once per compilation.
class_docstr_tok: ["Class","used","to","compile","steps",".","Should","be","instantiated","once","per","compilation","."]
docstr: Flatten a ConditionStep into a list of steps.
docstr_tok: ["Flatten","a","ConditionStep","into","a","list","of","steps","."]
code: def _flatten_condition_step(self, step: ConditionStep) -> List[Step]:
      """Flatten a ConditionStep into a list of steps."""
      flattened_steps = _StepsSet()
      flattened_steps.add(step)
      sub_steps = self._simplify_step_list(
          step.if_steps + step.else_steps
      )
      for sub_step in sub_steps:
          if isinstance(sub_step, ConditionStep):
              flattened_steps.add_list(
                  self._flatten_condition_step(sub_step)
              )
          else:
              flattened_steps.add(sub_step)
      return list(flattened_steps)
  
imports: from __future__ import absolute_import
  import logging
  import secrets
  from typing import Sequence, Union, List
  from sagemaker.workflow.entities import RequestType
  from sagemaker.workflow.function_step import _FunctionStep
  from sagemaker.workflow.steps import Step, StepTypeEnum, PropertyFile
  from sagemaker.workflow.condition_step import ConditionStep
  from sagemaker.workflow.step_collections import StepCollection
  from sagemaker.workflow.step_outputs import get_step
  from sagemaker.workflow.pipeline_definition_config import PipelineDefinitionConfig
  from sagemaker.workflow.step_outputs import StepOutput
  from sagemaker.workflow.utilities import step_compilation_context_manager, get_config_hash, get_code_hash
  from sagemaker.utils import sagemaker_timestamp
label_desc: Use image node_id 4 for calling the StepsCompiler obj's underlying member method code with example usage: obj._flatten_condition_step(step) and returns: list