code: def from_xdr(cls, xdr):
          
          xdr_decoded = base64.b64decode(xdr)
          te = Xdr.StellarXDRUnpacker(xdr_decoded)
          te_xdr_object = te.unpack_TransactionEnvelope()
          signatures = te_xdr_object.signatures
          tx_xdr_object = te_xdr_object.tx
          tx = Transaction.from_xdr_object(tx_xdr_object)
          te = TransactionEnvelope(tx, signatures=signatures)
          # te = TransactionEnvelope(
          #     tx, {'signatures': signatures, 'network_id': 'PUBLIC'})
          return te
docs: Create a new :class:`TransactionEnvelope` from an XDR string.
  
          :param xdr: The XDR string that represents a transaction
              envelope.
          :type xdr: bytes, str