class_docstr: Wraps a Gym environment into a maze core environment.
  
  :param env: The Gym environment.
code: def __init__(self, env: gym.Env):
      super().__init__()
      self.env = env
  
      # initialize renderer
      self.renderer = GymRenderer(env)
  
      # initialize the state
      self._maze_state: Optional[Dict] = None
  
imports: from copy import copy, deepcopy
  from typing import Tuple, Union, Any, Dict, Optional
  import gym
  import numpy
  from gym.envs.classic_control import CartPoleEnv, MountainCarEnv, Continuous_MountainCarEnv, PendulumEnv, AcrobotEnv
  from gym.wrappers import TimeLimit
  from maze.core.annotations import override
  from maze.core.env.action_conversion import ActionConversionInterface
  from maze.core.env.core_env import CoreEnv
  from maze.core.env.maze_action import MazeActionType
  from maze.core.env.maze_env import MazeEnv
  from maze.core.env.maze_state import MazeStateType
  from maze.core.env.observation_conversion import ObservationConversionInterface
  from maze.core.env.simulated_env_mixin import SimulatedEnvMixin
  from maze.core.env.structured_env import StepKeyType, ActorID
  from maze.core.log_events.step_event_log import StepEventLog
  from maze.core.rendering.renderer import Renderer
label_desc: Use image node_id 1 to create a new GymCoreEnv object from inherited base classes: CoreEnv with example: obj = GymCoreEnv(env)