code: def create_multiclick_environment(env_config):
      """Creates an interest evolution environment."""
  
      def choice_model_ctor(*args, **kwargs):
          return choice_model.DependentClickModel(
              next_probs=[
                  0.8 ** (i + 1)
                  for i in range(env_config["slate_size"])
              ],
              slate_size=env_config["slate_size"],
              score_scaling=1.0,
          )
  
      user_model = MulticlickIEvUserModel(
          env_config["slate_size"],
          choice_model_ctor=choice_model_ctor,
          response_model_ctor=interest_evolution.IEvResponse,
          user_state_ctor=UserState,
          seed=env_config["seed"],
      )
  
      document_sampler = interest_evolution.UtilityModelVideoSampler(
          doc_ctor=interest_evolution.IEvVideo, seed=env_config["seed"]
      )
  
      ievenv = environment.Environment(
          user_model,
          document_sampler,
          env_config["num_candidates"],
          env_config["slate_size"],
          resample_documents=env_config["resample_documents"],
      )
  
      return recsim_gym.RecSimGymEnv(
          ievenv,
          interest_evolution.clicked_watchtime_reward,
          utils.aggregate_video_cluster_metrics,
          utils.write_video_cluster_metrics,
      )
  
imports: import logging
  import gym
  import numpy
  import reagent.core.types
  from reagent.core.dataclasses import dataclass
  from reagent.gym.envs.env_wrapper import EnvWrapper
  from reagent.gym.envs.wrappers.recsim import ValueWrapper
  from reagent.gym.preprocessors.default_preprocessors import RecsimObsPreprocessor
  from recsim import choice_model, utils
  from recsim.environments import interest_evolution, interest_exploration
  from recsim.simulator import environment, recsim_gym
label_desc: Use image node_id 3 for calling a global function with example usage: create_multiclick_environment(env_config) and returns: recsim_gym, choice_model