docs: def verify_multi_sig(multi_sig: MultiSignature, message: bytes, ver_keys: [VerKey], gen: Generator) -> bool:
          """
          Verifies the message multi signature and returns true - if signature valid or false otherwise.
  
          :param: multi_sig - Multi signature to verify
          :param: message - Message to verify
          :param: ver_keys - List of verification keys
          :param: gen - Generator point
          :return: true if multi signature valid.
          """
  
          logger = logging.getLogger(__name__)
          logger.debug("Bls::verify_multi_sig: >>> multi_sig: %r, message: %r, ver_keys: %r, gen: %r",
                       multi_sig, message, ver_keys, gen)
  
          # noinspection PyCallingNonCallable,PyTypeChecker
          ver_key_c_instances = (c_void_p * len(ver_keys))()
          for i in range(len(ver_keys)):
              ver_key_c_instances[i] = ver_keys[i].c_instance
  
          valid = c_bool()
          do_call('indy_crypto_bls_verify_multi_sig',
                  multi_sig.c_instance,
                  message, len(message),
                  ver_key_c_instances, len(ver_keys),
                  gen.c_instance,
                  byref(valid))
  
          res = valid
  
          logger.debug("Bls::verify_multi_sig: <<< res: %r", res)
          return res