code: def qvm_run_payload(quil_program, classical_addresses, trials,
                      measurement_noise, gate_noise, random_seed):
      
      if not quil_program:
          raise ValueError("You have attempted to run an empty program."
                           " Please provide gates or measure instructions to your program.")
      if not isinstance(quil_program, Program):
          raise TypeError("quil_program must be a Quil program object")
      classical_addresses = prepare_register_list(classical_addresses)
      if not isinstance(trials, integer_types):
          raise TypeError("trials must be an integer")
  
      payload = {"type": TYPE_MULTISHOT,
                 "addresses": classical_addresses,
                 "trials": trials,
                 "compiled-quil": quil_program.out()}
  
      if measurement_noise is not None:
          payload["measurement-noise"] = measurement_noise
      if gate_noise is not None:
          payload["gate-noise"] = gate_noise
      if random_seed is not None:
          payload['rng-seed'] = random_seed
  
      return payload
docs: REST payload for :py:func:`ForestConnection._qvm_run`