class_docstr: Encrypted tensor object that uses binary sharing to perform computations.
  
  Binary shares are computed by splitting each value of the input tensor
  into n separate random values that xor together to the input tensor value,
  where n is the number of parties present in the protocol (world_size).
docstr: Get (batched) plaintext without any downscaling
docstr_tok: ["Get","(","batched",")","plaintext","without","any","downscaling"]
code: def reveal_batch(tensor_or_list, dst=None):
      """Get (batched) plaintext without any downscaling"""
      if isinstance(tensor_or_list, BinarySharedTensor):
          return tensor_or_list.reveal(dst=dst)
  
      assert isinstance(
          tensor_or_list, list
      ), f"Invalid input type into reveal {type(tensor_or_list)}"
      shares = [tensor.share for tensor in tensor_or_list]
      op = torch.distributed.ReduceOp.BXOR
      if dst is None:
          return comm.get().all_reduce(shares, op=op, batched=True)
      else:
          return comm.get().reduce(shares, dst, op=op, batched=True)
  
imports: import torch
  import fate.arch.protocol.mpc.communicator
  from fate.arch.protocol.mpc.common.rng import generate_kbit_random_tensor
  from fate.arch.protocol.mpc.common.tensor_types import is_tensor
  from fate.arch.protocol.mpc.common.util import torch_cat, torch_stack
  from fate.arch.protocol.mpc.cuda import CUDALongTensor
  from fate.arch.protocol.mpc.encoder import FixedPointEncoder
  from fate.arch.protocol.mpc.functions import regular
  from .None import beaver, circuit
label_desc: Use image node_id 43 for calling the BinarySharedTensor obj's underlying member method code with example usage: obj.reveal_batch(tensor_or_list, dst) and returns: tensor_or_list, comm, comm