// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: bridge.proto
// Protobuf C++ Version: 7.35.0

#ifndef bridge_2eproto_2epb_2eh
#define bridge_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

// clang-format off
#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 7035000
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_bases.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/message.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/generated_enum_reflection.h"
#include "google/protobuf/unknown_field_set.h"
#include "google/protobuf/empty.pb.h"
#include "google/protobuf/wrappers.pb.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_bridge_2eproto

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct TableStruct_bridge_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
extern const ::google::protobuf::internal::DescriptorTable descriptor_table_bridge_2eproto;
}  // extern "C"
namespace grpc {
enum DiskCacheErrorType : int;
extern const uint32_t DiskCacheErrorType_internal_data_[];
enum ErrorCode : int;
extern const uint32_t ErrorCode_internal_data_[];
enum LogLevel : int;
extern const uint32_t LogLevel_internal_data_[];
enum LoginErrorType : int;
extern const uint32_t LoginErrorType_internal_data_[];
enum MailServerSettingsErrorType : int;
extern const uint32_t MailServerSettingsErrorType_internal_data_[];
enum UpdateErrorType : int;
extern const uint32_t UpdateErrorType_internal_data_[];
enum UserState : int;
extern const uint32_t UserState_internal_data_[];
class AddLogEntryRequest;
struct AddLogEntryRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AddLogEntryRequestGlobalsTypeInternal AddLogEntryRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull AddLogEntryRequest_class_data_;
#else
extern const AddLogEntryRequestGlobalsTypeInternal AddLogEntryRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class AddressChangedEvent;
struct AddressChangedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AddressChangedEventGlobalsTypeInternal AddressChangedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull AddressChangedEvent_class_data_;
#else
extern const AddressChangedEventGlobalsTypeInternal AddressChangedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class AddressChangedLogoutEvent;
struct AddressChangedLogoutEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AddressChangedLogoutEventGlobalsTypeInternal AddressChangedLogoutEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull AddressChangedLogoutEvent_class_data_;
#else
extern const AddressChangedLogoutEventGlobalsTypeInternal AddressChangedLogoutEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class AllUsersLoadedEvent;
struct AllUsersLoadedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AllUsersLoadedEventGlobalsTypeInternal AllUsersLoadedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull AllUsersLoadedEvent_class_data_;
#else
extern const AllUsersLoadedEventGlobalsTypeInternal AllUsersLoadedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ApiCertIssueEvent;
struct ApiCertIssueEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ApiCertIssueEventGlobalsTypeInternal ApiCertIssueEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ApiCertIssueEvent_class_data_;
#else
extern const ApiCertIssueEventGlobalsTypeInternal ApiCertIssueEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class AppEvent;
struct AppEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AppEventGlobalsTypeInternal AppEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull AppEvent_class_data_;
#else
extern const AppEventGlobalsTypeInternal AppEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class AvailableKeychainsResponse;
struct AvailableKeychainsResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AvailableKeychainsResponseGlobalsTypeInternal AvailableKeychainsResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull AvailableKeychainsResponse_class_data_;
#else
extern const AvailableKeychainsResponseGlobalsTypeInternal AvailableKeychainsResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CertificateInstallCanceledEvent;
struct CertificateInstallCanceledEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CertificateInstallCanceledEventGlobalsTypeInternal CertificateInstallCanceledEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull CertificateInstallCanceledEvent_class_data_;
#else
extern const CertificateInstallCanceledEventGlobalsTypeInternal CertificateInstallCanceledEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CertificateInstallFailedEvent;
struct CertificateInstallFailedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CertificateInstallFailedEventGlobalsTypeInternal CertificateInstallFailedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull CertificateInstallFailedEvent_class_data_;
#else
extern const CertificateInstallFailedEventGlobalsTypeInternal CertificateInstallFailedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CertificateInstallSuccessEvent;
struct CertificateInstallSuccessEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CertificateInstallSuccessEventGlobalsTypeInternal CertificateInstallSuccessEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull CertificateInstallSuccessEvent_class_data_;
#else
extern const CertificateInstallSuccessEventGlobalsTypeInternal CertificateInstallSuccessEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ChangeKeychainFinishedEvent;
struct ChangeKeychainFinishedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ChangeKeychainFinishedEventGlobalsTypeInternal ChangeKeychainFinishedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ChangeKeychainFinishedEvent_class_data_;
#else
extern const ChangeKeychainFinishedEventGlobalsTypeInternal ChangeKeychainFinishedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ChangeMailServerSettingsFinishedEvent;
struct ChangeMailServerSettingsFinishedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ChangeMailServerSettingsFinishedEventGlobalsTypeInternal ChangeMailServerSettingsFinishedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ChangeMailServerSettingsFinishedEvent_class_data_;
#else
extern const ChangeMailServerSettingsFinishedEventGlobalsTypeInternal ChangeMailServerSettingsFinishedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ConfigureAppleMailRequest;
struct ConfigureAppleMailRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ConfigureAppleMailRequestGlobalsTypeInternal ConfigureAppleMailRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull ConfigureAppleMailRequest_class_data_;
#else
extern const ConfigureAppleMailRequestGlobalsTypeInternal ConfigureAppleMailRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class DiskCacheErrorEvent;
struct DiskCacheErrorEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern DiskCacheErrorEventGlobalsTypeInternal DiskCacheErrorEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull DiskCacheErrorEvent_class_data_;
#else
extern const DiskCacheErrorEventGlobalsTypeInternal DiskCacheErrorEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class DiskCacheEvent;
struct DiskCacheEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern DiskCacheEventGlobalsTypeInternal DiskCacheEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull DiskCacheEvent_class_data_;
#else
extern const DiskCacheEventGlobalsTypeInternal DiskCacheEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class DiskCachePathChangeFinishedEvent;
struct DiskCachePathChangeFinishedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern DiskCachePathChangeFinishedEventGlobalsTypeInternal DiskCachePathChangeFinishedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull DiskCachePathChangeFinishedEvent_class_data_;
#else
extern const DiskCachePathChangeFinishedEventGlobalsTypeInternal DiskCachePathChangeFinishedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class DiskCachePathChangedEvent;
struct DiskCachePathChangedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern DiskCachePathChangedEventGlobalsTypeInternal DiskCachePathChangedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull DiskCachePathChangedEvent_class_data_;
#else
extern const DiskCachePathChangedEventGlobalsTypeInternal DiskCachePathChangedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class EventStreamRequest;
struct EventStreamRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern EventStreamRequestGlobalsTypeInternal EventStreamRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull EventStreamRequest_class_data_;
#else
extern const EventStreamRequestGlobalsTypeInternal EventStreamRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class GenericErrorEvent;
struct GenericErrorEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern GenericErrorEventGlobalsTypeInternal GenericErrorEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull GenericErrorEvent_class_data_;
#else
extern const GenericErrorEventGlobalsTypeInternal GenericErrorEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class GuiReadyResponse;
struct GuiReadyResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern GuiReadyResponseGlobalsTypeInternal GuiReadyResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull GuiReadyResponse_class_data_;
#else
extern const GuiReadyResponseGlobalsTypeInternal GuiReadyResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class HasNoKeychainEvent;
struct HasNoKeychainEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern HasNoKeychainEventGlobalsTypeInternal HasNoKeychainEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull HasNoKeychainEvent_class_data_;
#else
extern const HasNoKeychainEventGlobalsTypeInternal HasNoKeychainEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ImapLoginFailedEvent;
struct ImapLoginFailedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ImapLoginFailedEventGlobalsTypeInternal ImapLoginFailedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ImapLoginFailedEvent_class_data_;
#else
extern const ImapLoginFailedEventGlobalsTypeInternal ImapLoginFailedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ImapSmtpSettings;
struct ImapSmtpSettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ImapSmtpSettingsGlobalsTypeInternal ImapSmtpSettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull ImapSmtpSettings_class_data_;
#else
extern const ImapSmtpSettingsGlobalsTypeInternal ImapSmtpSettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class InternetStatusEvent;
struct InternetStatusEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern InternetStatusEventGlobalsTypeInternal InternetStatusEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull InternetStatusEvent_class_data_;
#else
extern const InternetStatusEventGlobalsTypeInternal InternetStatusEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class KeychainEvent;
struct KeychainEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern KeychainEventGlobalsTypeInternal KeychainEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull KeychainEvent_class_data_;
#else
extern const KeychainEventGlobalsTypeInternal KeychainEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class KnowledgeBaseSuggestion;
struct KnowledgeBaseSuggestionGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern KnowledgeBaseSuggestionGlobalsTypeInternal KnowledgeBaseSuggestion_globals_;
extern const ::google::protobuf::internal::ClassDataFull KnowledgeBaseSuggestion_class_data_;
#else
extern const KnowledgeBaseSuggestionGlobalsTypeInternal KnowledgeBaseSuggestion_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class KnowledgeBaseSuggestionsEvent;
struct KnowledgeBaseSuggestionsEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern KnowledgeBaseSuggestionsEventGlobalsTypeInternal KnowledgeBaseSuggestionsEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull KnowledgeBaseSuggestionsEvent_class_data_;
#else
extern const KnowledgeBaseSuggestionsEventGlobalsTypeInternal KnowledgeBaseSuggestionsEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginAbortRequest;
struct LoginAbortRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginAbortRequestGlobalsTypeInternal LoginAbortRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginAbortRequest_class_data_;
#else
extern const LoginAbortRequestGlobalsTypeInternal LoginAbortRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginErrorEvent;
struct LoginErrorEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginErrorEventGlobalsTypeInternal LoginErrorEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginErrorEvent_class_data_;
#else
extern const LoginErrorEventGlobalsTypeInternal LoginErrorEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginEvent;
struct LoginEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginEventGlobalsTypeInternal LoginEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginEvent_class_data_;
#else
extern const LoginEventGlobalsTypeInternal LoginEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginFidoPinRequired;
struct LoginFidoPinRequiredGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginFidoPinRequiredGlobalsTypeInternal LoginFidoPinRequired_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginFidoPinRequired_class_data_;
#else
extern const LoginFidoPinRequiredGlobalsTypeInternal LoginFidoPinRequired_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginFidoRequestedEvent;
struct LoginFidoRequestedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginFidoRequestedEventGlobalsTypeInternal LoginFidoRequestedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginFidoRequestedEvent_class_data_;
#else
extern const LoginFidoRequestedEventGlobalsTypeInternal LoginFidoRequestedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginFidoTouchEvent;
struct LoginFidoTouchEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginFidoTouchEventGlobalsTypeInternal LoginFidoTouchEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginFidoTouchEvent_class_data_;
#else
extern const LoginFidoTouchEventGlobalsTypeInternal LoginFidoTouchEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginFinishedEvent;
struct LoginFinishedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginFinishedEventGlobalsTypeInternal LoginFinishedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginFinishedEvent_class_data_;
#else
extern const LoginFinishedEventGlobalsTypeInternal LoginFinishedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginHvRequestedEvent;
struct LoginHvRequestedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginHvRequestedEventGlobalsTypeInternal LoginHvRequestedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginHvRequestedEvent_class_data_;
#else
extern const LoginHvRequestedEventGlobalsTypeInternal LoginHvRequestedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginRequest;
struct LoginRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginRequestGlobalsTypeInternal LoginRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginRequest_class_data_;
#else
extern const LoginRequestGlobalsTypeInternal LoginRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginTfaOrFidoRequestedEvent;
struct LoginTfaOrFidoRequestedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginTfaOrFidoRequestedEventGlobalsTypeInternal LoginTfaOrFidoRequestedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginTfaOrFidoRequestedEvent_class_data_;
#else
extern const LoginTfaOrFidoRequestedEventGlobalsTypeInternal LoginTfaOrFidoRequestedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginTfaRequestedEvent;
struct LoginTfaRequestedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginTfaRequestedEventGlobalsTypeInternal LoginTfaRequestedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginTfaRequestedEvent_class_data_;
#else
extern const LoginTfaRequestedEventGlobalsTypeInternal LoginTfaRequestedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class LoginTwoPasswordsRequestedEvent;
struct LoginTwoPasswordsRequestedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern LoginTwoPasswordsRequestedEventGlobalsTypeInternal LoginTwoPasswordsRequestedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull LoginTwoPasswordsRequestedEvent_class_data_;
#else
extern const LoginTwoPasswordsRequestedEventGlobalsTypeInternal LoginTwoPasswordsRequestedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class MailEvent;
struct MailEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern MailEventGlobalsTypeInternal MailEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull MailEvent_class_data_;
#else
extern const MailEventGlobalsTypeInternal MailEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class MailServerSettingsChangedEvent;
struct MailServerSettingsChangedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern MailServerSettingsChangedEventGlobalsTypeInternal MailServerSettingsChangedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull MailServerSettingsChangedEvent_class_data_;
#else
extern const MailServerSettingsChangedEventGlobalsTypeInternal MailServerSettingsChangedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class MailServerSettingsErrorEvent;
struct MailServerSettingsErrorEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern MailServerSettingsErrorEventGlobalsTypeInternal MailServerSettingsErrorEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull MailServerSettingsErrorEvent_class_data_;
#else
extern const MailServerSettingsErrorEventGlobalsTypeInternal MailServerSettingsErrorEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class MailServerSettingsEvent;
struct MailServerSettingsEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern MailServerSettingsEventGlobalsTypeInternal MailServerSettingsEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull MailServerSettingsEvent_class_data_;
#else
extern const MailServerSettingsEventGlobalsTypeInternal MailServerSettingsEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class RebuildKeychainEvent;
struct RebuildKeychainEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern RebuildKeychainEventGlobalsTypeInternal RebuildKeychainEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull RebuildKeychainEvent_class_data_;
#else
extern const RebuildKeychainEventGlobalsTypeInternal RebuildKeychainEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class RepairStartedEvent;
struct RepairStartedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern RepairStartedEventGlobalsTypeInternal RepairStartedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull RepairStartedEvent_class_data_;
#else
extern const RepairStartedEventGlobalsTypeInternal RepairStartedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ReportBugErrorEvent;
struct ReportBugErrorEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ReportBugErrorEventGlobalsTypeInternal ReportBugErrorEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ReportBugErrorEvent_class_data_;
#else
extern const ReportBugErrorEventGlobalsTypeInternal ReportBugErrorEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ReportBugFallbackEvent;
struct ReportBugFallbackEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ReportBugFallbackEventGlobalsTypeInternal ReportBugFallbackEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ReportBugFallbackEvent_class_data_;
#else
extern const ReportBugFallbackEventGlobalsTypeInternal ReportBugFallbackEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ReportBugFinishedEvent;
struct ReportBugFinishedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ReportBugFinishedEventGlobalsTypeInternal ReportBugFinishedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ReportBugFinishedEvent_class_data_;
#else
extern const ReportBugFinishedEventGlobalsTypeInternal ReportBugFinishedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ReportBugRequest;
struct ReportBugRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ReportBugRequestGlobalsTypeInternal ReportBugRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull ReportBugRequest_class_data_;
#else
extern const ReportBugRequestGlobalsTypeInternal ReportBugRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ReportBugSuccessEvent;
struct ReportBugSuccessEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ReportBugSuccessEventGlobalsTypeInternal ReportBugSuccessEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ReportBugSuccessEvent_class_data_;
#else
extern const ReportBugSuccessEventGlobalsTypeInternal ReportBugSuccessEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ResetFinishedEvent;
struct ResetFinishedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ResetFinishedEventGlobalsTypeInternal ResetFinishedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ResetFinishedEvent_class_data_;
#else
extern const ResetFinishedEventGlobalsTypeInternal ResetFinishedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ShowMainWindowEvent;
struct ShowMainWindowEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ShowMainWindowEventGlobalsTypeInternal ShowMainWindowEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ShowMainWindowEvent_class_data_;
#else
extern const ShowMainWindowEventGlobalsTypeInternal ShowMainWindowEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class StreamEvent;
struct StreamEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern StreamEventGlobalsTypeInternal StreamEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull StreamEvent_class_data_;
#else
extern const StreamEventGlobalsTypeInternal StreamEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class SyncFinishedEvent;
struct SyncFinishedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern SyncFinishedEventGlobalsTypeInternal SyncFinishedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull SyncFinishedEvent_class_data_;
#else
extern const SyncFinishedEventGlobalsTypeInternal SyncFinishedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class SyncProgressEvent;
struct SyncProgressEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern SyncProgressEventGlobalsTypeInternal SyncProgressEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull SyncProgressEvent_class_data_;
#else
extern const SyncProgressEventGlobalsTypeInternal SyncProgressEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class SyncStartedEvent;
struct SyncStartedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern SyncStartedEventGlobalsTypeInternal SyncStartedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull SyncStartedEvent_class_data_;
#else
extern const SyncStartedEventGlobalsTypeInternal SyncStartedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ToggleAutostartFinishedEvent;
struct ToggleAutostartFinishedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ToggleAutostartFinishedEventGlobalsTypeInternal ToggleAutostartFinishedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ToggleAutostartFinishedEvent_class_data_;
#else
extern const ToggleAutostartFinishedEventGlobalsTypeInternal ToggleAutostartFinishedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ToggleSplitModeFinishedEvent;
struct ToggleSplitModeFinishedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ToggleSplitModeFinishedEventGlobalsTypeInternal ToggleSplitModeFinishedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull ToggleSplitModeFinishedEvent_class_data_;
#else
extern const ToggleSplitModeFinishedEventGlobalsTypeInternal ToggleSplitModeFinishedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateCheckFinished;
struct UpdateCheckFinishedGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateCheckFinishedGlobalsTypeInternal UpdateCheckFinished_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateCheckFinished_class_data_;
#else
extern const UpdateCheckFinishedGlobalsTypeInternal UpdateCheckFinished_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateErrorEvent;
struct UpdateErrorEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateErrorEventGlobalsTypeInternal UpdateErrorEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateErrorEvent_class_data_;
#else
extern const UpdateErrorEventGlobalsTypeInternal UpdateErrorEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateEvent;
struct UpdateEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateEventGlobalsTypeInternal UpdateEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateEvent_class_data_;
#else
extern const UpdateEventGlobalsTypeInternal UpdateEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateForceEvent;
struct UpdateForceEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateForceEventGlobalsTypeInternal UpdateForceEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateForceEvent_class_data_;
#else
extern const UpdateForceEventGlobalsTypeInternal UpdateForceEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateIsLatestVersion;
struct UpdateIsLatestVersionGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateIsLatestVersionGlobalsTypeInternal UpdateIsLatestVersion_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateIsLatestVersion_class_data_;
#else
extern const UpdateIsLatestVersionGlobalsTypeInternal UpdateIsLatestVersion_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateManualReadyEvent;
struct UpdateManualReadyEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateManualReadyEventGlobalsTypeInternal UpdateManualReadyEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateManualReadyEvent_class_data_;
#else
extern const UpdateManualReadyEventGlobalsTypeInternal UpdateManualReadyEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateManualRestartNeededEvent;
struct UpdateManualRestartNeededEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateManualRestartNeededEventGlobalsTypeInternal UpdateManualRestartNeededEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateManualRestartNeededEvent_class_data_;
#else
extern const UpdateManualRestartNeededEventGlobalsTypeInternal UpdateManualRestartNeededEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateSilentRestartNeeded;
struct UpdateSilentRestartNeededGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateSilentRestartNeededGlobalsTypeInternal UpdateSilentRestartNeeded_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateSilentRestartNeeded_class_data_;
#else
extern const UpdateSilentRestartNeededGlobalsTypeInternal UpdateSilentRestartNeeded_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateVersionChanged;
struct UpdateVersionChangedGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateVersionChangedGlobalsTypeInternal UpdateVersionChanged_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateVersionChanged_class_data_;
#else
extern const UpdateVersionChangedGlobalsTypeInternal UpdateVersionChanged_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UsedBytesChangedEvent;
struct UsedBytesChangedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UsedBytesChangedEventGlobalsTypeInternal UsedBytesChangedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UsedBytesChangedEvent_class_data_;
#else
extern const UsedBytesChangedEventGlobalsTypeInternal UsedBytesChangedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class User;
struct UserGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UserGlobalsTypeInternal User_globals_;
extern const ::google::protobuf::internal::ClassDataFull User_class_data_;
#else
extern const UserGlobalsTypeInternal User_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UserBadEvent;
struct UserBadEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UserBadEventGlobalsTypeInternal UserBadEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UserBadEvent_class_data_;
#else
extern const UserBadEventGlobalsTypeInternal UserBadEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UserBadEventFeedbackRequest;
struct UserBadEventFeedbackRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UserBadEventFeedbackRequestGlobalsTypeInternal UserBadEventFeedbackRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull UserBadEventFeedbackRequest_class_data_;
#else
extern const UserBadEventFeedbackRequestGlobalsTypeInternal UserBadEventFeedbackRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UserChangedEvent;
struct UserChangedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UserChangedEventGlobalsTypeInternal UserChangedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UserChangedEvent_class_data_;
#else
extern const UserChangedEventGlobalsTypeInternal UserChangedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UserDisconnectedEvent;
struct UserDisconnectedEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UserDisconnectedEventGlobalsTypeInternal UserDisconnectedEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UserDisconnectedEvent_class_data_;
#else
extern const UserDisconnectedEventGlobalsTypeInternal UserDisconnectedEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UserEvent;
struct UserEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UserEventGlobalsTypeInternal UserEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UserEvent_class_data_;
#else
extern const UserEventGlobalsTypeInternal UserEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UserListResponse;
struct UserListResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UserListResponseGlobalsTypeInternal UserListResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull UserListResponse_class_data_;
#else
extern const UserListResponseGlobalsTypeInternal UserListResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UserNotificationEvent;
struct UserNotificationEventGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UserNotificationEventGlobalsTypeInternal UserNotificationEvent_globals_;
extern const ::google::protobuf::internal::ClassDataFull UserNotificationEvent_class_data_;
#else
extern const UserNotificationEventGlobalsTypeInternal UserNotificationEvent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UserSplitModeRequest;
struct UserSplitModeRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UserSplitModeRequestGlobalsTypeInternal UserSplitModeRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull UserSplitModeRequest_class_data_;
#else
extern const UserSplitModeRequestGlobalsTypeInternal UserSplitModeRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
}  // namespace grpc
namespace google {
namespace protobuf {
template <>
internal::EnumTraitsT<::grpc::DiskCacheErrorType_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::DiskCacheErrorType>;
template <>
internal::EnumTraitsT<::grpc::ErrorCode_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::ErrorCode>;
template <>
internal::EnumTraitsT<::grpc::LogLevel_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::LogLevel>;
template <>
internal::EnumTraitsT<::grpc::LoginErrorType_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::LoginErrorType>;
template <>
internal::EnumTraitsT<::grpc::MailServerSettingsErrorType_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::MailServerSettingsErrorType>;
template <>
internal::EnumTraitsT<::grpc::UpdateErrorType_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::UpdateErrorType>;
template <>
internal::EnumTraitsT<::grpc::UserState_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::UserState>;
}  // namespace protobuf
}  // namespace google

namespace grpc {
enum LogLevel : int {
  LOG_PANIC = 0,
  LOG_FATAL = 1,
  LOG_ERROR = 2,
  LOG_WARN = 3,
  LOG_INFO = 4,
  LOG_DEBUG = 5,
  LOG_TRACE = 6,
  LogLevel_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  LogLevel_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t LogLevel_internal_data_[];
inline constexpr LogLevel LogLevel_MIN =
    static_cast<LogLevel>(0);
inline constexpr LogLevel LogLevel_MAX =
    static_cast<LogLevel>(6);
[[nodiscard]] inline bool LogLevel_IsValid(int value) {
  return 0 <= value && value <= 6;
}
inline constexpr int LogLevel_ARRAYSIZE = 6 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
LogLevel_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(LogLevel) {
  return LogLevel_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& LogLevel_Name(T value) {
  static_assert(::std::is_same<T, LogLevel>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to LogLevel_Name().");
  return LogLevel_Name(static_cast<LogLevel>(value));
}
template <>
[[nodiscard]] inline const ::std::string& LogLevel_Name(LogLevel value) {
  return ::google::protobuf::internal::NameOfDenseEnum<LogLevel_descriptor, 0, 6>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool LogLevel_Parse(
    ::absl::string_view name, LogLevel* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<LogLevel>(LogLevel_descriptor(), name,
                                           value);
}
enum UserState : int {
  SIGNED_OUT = 0,
  LOCKED = 1,
  CONNECTED = 2,
  UserState_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  UserState_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t UserState_internal_data_[];
inline constexpr UserState UserState_MIN =
    static_cast<UserState>(0);
inline constexpr UserState UserState_MAX =
    static_cast<UserState>(2);
[[nodiscard]] inline bool UserState_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int UserState_ARRAYSIZE = 2 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
UserState_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(UserState) {
  return UserState_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& UserState_Name(T value) {
  static_assert(::std::is_same<T, UserState>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to UserState_Name().");
  return UserState_Name(static_cast<UserState>(value));
}
template <>
[[nodiscard]] inline const ::std::string& UserState_Name(UserState value) {
  return ::google::protobuf::internal::NameOfDenseEnum<UserState_descriptor, 0, 2>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool UserState_Parse(
    ::absl::string_view name, UserState* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<UserState>(UserState_descriptor(), name,
                                           value);
}
enum LoginErrorType : int {
  USERNAME_PASSWORD_ERROR = 0,
  FREE_USER = 1,
  CONNECTION_ERROR = 2,
  TFA_ERROR = 3,
  TFA_ABORT = 4,
  TWO_PASSWORDS_ERROR = 5,
  TWO_PASSWORDS_ABORT = 6,
  HV_ERROR = 7,
  FIDO_PIN_INVALID = 8,
  FIDO_PIN_BLOCKED = 9,
  FIDO_ERROR = 10,
  LoginErrorType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  LoginErrorType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t LoginErrorType_internal_data_[];
inline constexpr LoginErrorType LoginErrorType_MIN =
    static_cast<LoginErrorType>(0);
inline constexpr LoginErrorType LoginErrorType_MAX =
    static_cast<LoginErrorType>(10);
[[nodiscard]] inline bool LoginErrorType_IsValid(int value) {
  return 0 <= value && value <= 10;
}
inline constexpr int LoginErrorType_ARRAYSIZE = 10 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
LoginErrorType_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(LoginErrorType) {
  return LoginErrorType_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& LoginErrorType_Name(T value) {
  static_assert(::std::is_same<T, LoginErrorType>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to LoginErrorType_Name().");
  return LoginErrorType_Name(static_cast<LoginErrorType>(value));
}
template <>
[[nodiscard]] inline const ::std::string& LoginErrorType_Name(LoginErrorType value) {
  return ::google::protobuf::internal::NameOfDenseEnum<LoginErrorType_descriptor, 0, 10>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool LoginErrorType_Parse(
    ::absl::string_view name, LoginErrorType* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<LoginErrorType>(LoginErrorType_descriptor(), name,
                                           value);
}
enum UpdateErrorType : int {
  UPDATE_MANUAL_ERROR = 0,
  UPDATE_FORCE_ERROR = 1,
  UPDATE_SILENT_ERROR = 2,
  UpdateErrorType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  UpdateErrorType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t UpdateErrorType_internal_data_[];
inline constexpr UpdateErrorType UpdateErrorType_MIN =
    static_cast<UpdateErrorType>(0);
inline constexpr UpdateErrorType UpdateErrorType_MAX =
    static_cast<UpdateErrorType>(2);
[[nodiscard]] inline bool UpdateErrorType_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int UpdateErrorType_ARRAYSIZE = 2 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
UpdateErrorType_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(UpdateErrorType) {
  return UpdateErrorType_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& UpdateErrorType_Name(T value) {
  static_assert(::std::is_same<T, UpdateErrorType>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to UpdateErrorType_Name().");
  return UpdateErrorType_Name(static_cast<UpdateErrorType>(value));
}
template <>
[[nodiscard]] inline const ::std::string& UpdateErrorType_Name(UpdateErrorType value) {
  return ::google::protobuf::internal::NameOfDenseEnum<UpdateErrorType_descriptor, 0, 2>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool UpdateErrorType_Parse(
    ::absl::string_view name, UpdateErrorType* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<UpdateErrorType>(UpdateErrorType_descriptor(), name,
                                           value);
}
enum DiskCacheErrorType : int {
  CANT_MOVE_DISK_CACHE_ERROR = 0,
  DiskCacheErrorType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  DiskCacheErrorType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t DiskCacheErrorType_internal_data_[];
inline constexpr DiskCacheErrorType DiskCacheErrorType_MIN =
    static_cast<DiskCacheErrorType>(0);
inline constexpr DiskCacheErrorType DiskCacheErrorType_MAX =
    static_cast<DiskCacheErrorType>(0);
[[nodiscard]] inline bool DiskCacheErrorType_IsValid(int value) {
  return 0 <= value && value <= 0;
}
inline constexpr int DiskCacheErrorType_ARRAYSIZE = 0 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
DiskCacheErrorType_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(DiskCacheErrorType) {
  return DiskCacheErrorType_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& DiskCacheErrorType_Name(T value) {
  static_assert(::std::is_same<T, DiskCacheErrorType>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to DiskCacheErrorType_Name().");
  return DiskCacheErrorType_Name(static_cast<DiskCacheErrorType>(value));
}
template <>
[[nodiscard]] inline const ::std::string& DiskCacheErrorType_Name(DiskCacheErrorType value) {
  return ::google::protobuf::internal::NameOfDenseEnum<DiskCacheErrorType_descriptor, 0, 0>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool DiskCacheErrorType_Parse(
    ::absl::string_view name, DiskCacheErrorType* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<DiskCacheErrorType>(DiskCacheErrorType_descriptor(), name,
                                           value);
}
enum MailServerSettingsErrorType : int {
  IMAP_PORT_STARTUP_ERROR = 0,
  SMTP_PORT_STARTUP_ERROR = 1,
  IMAP_PORT_CHANGE_ERROR = 2,
  SMTP_PORT_CHANGE_ERROR = 3,
  IMAP_CONNECTION_MODE_CHANGE_ERROR = 4,
  SMTP_CONNECTION_MODE_CHANGE_ERROR = 5,
  MailServerSettingsErrorType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  MailServerSettingsErrorType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t MailServerSettingsErrorType_internal_data_[];
inline constexpr MailServerSettingsErrorType MailServerSettingsErrorType_MIN =
    static_cast<MailServerSettingsErrorType>(0);
inline constexpr MailServerSettingsErrorType MailServerSettingsErrorType_MAX =
    static_cast<MailServerSettingsErrorType>(5);
[[nodiscard]] inline bool MailServerSettingsErrorType_IsValid(int value) {
  return 0 <= value && value <= 5;
}
inline constexpr int MailServerSettingsErrorType_ARRAYSIZE = 5 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
MailServerSettingsErrorType_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(MailServerSettingsErrorType) {
  return MailServerSettingsErrorType_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& MailServerSettingsErrorType_Name(T value) {
  static_assert(::std::is_same<T, MailServerSettingsErrorType>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to MailServerSettingsErrorType_Name().");
  return MailServerSettingsErrorType_Name(static_cast<MailServerSettingsErrorType>(value));
}
template <>
[[nodiscard]] inline const ::std::string& MailServerSettingsErrorType_Name(MailServerSettingsErrorType value) {
  return ::google::protobuf::internal::NameOfDenseEnum<MailServerSettingsErrorType_descriptor, 0, 5>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool MailServerSettingsErrorType_Parse(
    ::absl::string_view name, MailServerSettingsErrorType* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<MailServerSettingsErrorType>(MailServerSettingsErrorType_descriptor(), name,
                                           value);
}
enum ErrorCode : int {
  UNKNOWN_ERROR = 0,
  TLS_CERT_EXPORT_ERROR = 1,
  TLS_KEY_EXPORT_ERROR = 2,
  ErrorCode_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  ErrorCode_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t ErrorCode_internal_data_[];
inline constexpr ErrorCode ErrorCode_MIN =
    static_cast<ErrorCode>(0);
inline constexpr ErrorCode ErrorCode_MAX =
    static_cast<ErrorCode>(2);
[[nodiscard]] inline bool ErrorCode_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int ErrorCode_ARRAYSIZE = 2 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
ErrorCode_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(ErrorCode) {
  return ErrorCode_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& ErrorCode_Name(T value) {
  static_assert(::std::is_same<T, ErrorCode>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to ErrorCode_Name().");
  return ErrorCode_Name(static_cast<ErrorCode>(value));
}
template <>
[[nodiscard]] inline const ::std::string& ErrorCode_Name(ErrorCode value) {
  return ::google::protobuf::internal::NameOfDenseEnum<ErrorCode_descriptor, 0, 2>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool ErrorCode_Parse(
    ::absl::string_view name, ErrorCode* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<ErrorCode>(ErrorCode_descriptor(), name,
                                           value);
}
using ::google::protobuf::internal::generated_enum::AbslParseFlag;
using ::google::protobuf::internal::generated_enum::AbslUnparseFlag;

// ===================================================================


// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UserSplitModeRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UserSplitModeRequest) */ {
 public:
  inline UserSplitModeRequest() : UserSplitModeRequest(nullptr) {}
  ~UserSplitModeRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UserSplitModeRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UserSplitModeRequest));
  }
#endif

  template <typename = void>
  explicit constexpr UserSplitModeRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UserSplitModeRequest(const UserSplitModeRequest& from) : UserSplitModeRequest(nullptr, from) {}
  inline UserSplitModeRequest(UserSplitModeRequest&& from) noexcept : UserSplitModeRequest(nullptr, ::std::move(from)) {}
  inline UserSplitModeRequest& operator=(const UserSplitModeRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserSplitModeRequest& operator=(UserSplitModeRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UserSplitModeRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UserSplitModeRequest>(&UserSplitModeRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(UserSplitModeRequest& a, UserSplitModeRequest& b) { a.Swap(&b); }
  inline void Swap(UserSplitModeRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserSplitModeRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UserSplitModeRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UserSplitModeRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UserSplitModeRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UserSplitModeRequest& from) { UserSplitModeRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UserSplitModeRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UserSplitModeRequest"; }

  explicit UserSplitModeRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UserSplitModeRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UserSplitModeRequest& from);
  UserSplitModeRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UserSplitModeRequest&& from) noexcept
      : UserSplitModeRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
    kActiveFieldNumber = 2,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // bool active = 2;
  void clear_active() ;
  [[nodiscard]] bool active() const;
  void set_active(bool value);

  private:
  bool _internal_active() const;
  void _internal_set_active(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.UserSplitModeRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 40,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UserSplitModeRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    bool active_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UserNotificationEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UserNotificationEvent) */ {
 public:
  inline UserNotificationEvent() : UserNotificationEvent(nullptr) {}
  ~UserNotificationEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UserNotificationEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UserNotificationEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UserNotificationEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UserNotificationEvent(const UserNotificationEvent& from) : UserNotificationEvent(nullptr, from) {}
  inline UserNotificationEvent(UserNotificationEvent&& from) noexcept : UserNotificationEvent(nullptr, ::std::move(from)) {}
  inline UserNotificationEvent& operator=(const UserNotificationEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserNotificationEvent& operator=(UserNotificationEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UserNotificationEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UserNotificationEvent>(&UserNotificationEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 75;
  friend void swap(UserNotificationEvent& a, UserNotificationEvent& b) { a.Swap(&b); }
  inline void Swap(UserNotificationEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserNotificationEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UserNotificationEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UserNotificationEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UserNotificationEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UserNotificationEvent& from) { UserNotificationEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UserNotificationEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UserNotificationEvent"; }

  explicit UserNotificationEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UserNotificationEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UserNotificationEvent& from);
  UserNotificationEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UserNotificationEvent&& from) noexcept
      : UserNotificationEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kTitleFieldNumber = 1,
    kSubtitleFieldNumber = 2,
    kBodyFieldNumber = 3,
    kUserIDFieldNumber = 4,
  };
  // string title = 1;
  void clear_title() ;
  [[nodiscard]] const ::std::string& title() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_title();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_title();
  void set_allocated_title(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_title() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_title(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_title();

  public:
  // string subtitle = 2;
  void clear_subtitle() ;
  [[nodiscard]] const ::std::string& subtitle() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_subtitle(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_subtitle();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_subtitle();
  void set_allocated_subtitle(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_subtitle() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_subtitle(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_subtitle();

  public:
  // string body = 3;
  void clear_body() ;
  [[nodiscard]] const ::std::string& body() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_body(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_body();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_body();
  void set_allocated_body(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_body() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_body(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_body();

  public:
  // string userID = 4;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // @@protoc_insertion_point(class_scope:grpc.UserNotificationEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          0, 58,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UserNotificationEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr title_;
    ::google::protobuf::internal::ArenaStringPtr subtitle_;
    ::google::protobuf::internal::ArenaStringPtr body_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UserDisconnectedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UserDisconnectedEvent) */ {
 public:
  inline UserDisconnectedEvent() : UserDisconnectedEvent(nullptr) {}
  ~UserDisconnectedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UserDisconnectedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UserDisconnectedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UserDisconnectedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UserDisconnectedEvent(const UserDisconnectedEvent& from) : UserDisconnectedEvent(nullptr, from) {}
  inline UserDisconnectedEvent(UserDisconnectedEvent&& from) noexcept : UserDisconnectedEvent(nullptr, ::std::move(from)) {}
  inline UserDisconnectedEvent& operator=(const UserDisconnectedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserDisconnectedEvent& operator=(UserDisconnectedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UserDisconnectedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UserDisconnectedEvent>(&UserDisconnectedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 67;
  friend void swap(UserDisconnectedEvent& a, UserDisconnectedEvent& b) { a.Swap(&b); }
  inline void Swap(UserDisconnectedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserDisconnectedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UserDisconnectedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UserDisconnectedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UserDisconnectedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UserDisconnectedEvent& from) { UserDisconnectedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UserDisconnectedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UserDisconnectedEvent"; }

  explicit UserDisconnectedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UserDisconnectedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UserDisconnectedEvent& from);
  UserDisconnectedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UserDisconnectedEvent&& from) noexcept
      : UserDisconnectedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsernameFieldNumber = 1,
  };
  // string username = 1;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // @@protoc_insertion_point(class_scope:grpc.UserDisconnectedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 43,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UserDisconnectedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UserChangedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UserChangedEvent) */ {
 public:
  inline UserChangedEvent() : UserChangedEvent(nullptr) {}
  ~UserChangedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UserChangedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UserChangedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UserChangedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UserChangedEvent(const UserChangedEvent& from) : UserChangedEvent(nullptr, from) {}
  inline UserChangedEvent(UserChangedEvent&& from) noexcept : UserChangedEvent(nullptr, ::std::move(from)) {}
  inline UserChangedEvent& operator=(const UserChangedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserChangedEvent& operator=(UserChangedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UserChangedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UserChangedEvent>(&UserChangedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 68;
  friend void swap(UserChangedEvent& a, UserChangedEvent& b) { a.Swap(&b); }
  inline void Swap(UserChangedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserChangedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UserChangedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UserChangedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UserChangedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UserChangedEvent& from) { UserChangedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UserChangedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UserChangedEvent"; }

  explicit UserChangedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UserChangedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UserChangedEvent& from);
  UserChangedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UserChangedEvent&& from) noexcept
      : UserChangedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // @@protoc_insertion_point(class_scope:grpc.UserChangedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 36,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UserChangedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UserBadEventFeedbackRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UserBadEventFeedbackRequest) */ {
 public:
  inline UserBadEventFeedbackRequest() : UserBadEventFeedbackRequest(nullptr) {}
  ~UserBadEventFeedbackRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UserBadEventFeedbackRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UserBadEventFeedbackRequest));
  }
#endif

  template <typename = void>
  explicit constexpr UserBadEventFeedbackRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UserBadEventFeedbackRequest(const UserBadEventFeedbackRequest& from) : UserBadEventFeedbackRequest(nullptr, from) {}
  inline UserBadEventFeedbackRequest(UserBadEventFeedbackRequest&& from) noexcept : UserBadEventFeedbackRequest(nullptr, ::std::move(from)) {}
  inline UserBadEventFeedbackRequest& operator=(const UserBadEventFeedbackRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserBadEventFeedbackRequest& operator=(UserBadEventFeedbackRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UserBadEventFeedbackRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UserBadEventFeedbackRequest>(&UserBadEventFeedbackRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 9;
  friend void swap(UserBadEventFeedbackRequest& a, UserBadEventFeedbackRequest& b) { a.Swap(&b); }
  inline void Swap(UserBadEventFeedbackRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserBadEventFeedbackRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UserBadEventFeedbackRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UserBadEventFeedbackRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UserBadEventFeedbackRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UserBadEventFeedbackRequest& from) { UserBadEventFeedbackRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UserBadEventFeedbackRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UserBadEventFeedbackRequest"; }

  explicit UserBadEventFeedbackRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UserBadEventFeedbackRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UserBadEventFeedbackRequest& from);
  UserBadEventFeedbackRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UserBadEventFeedbackRequest&& from) noexcept
      : UserBadEventFeedbackRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
    kDoResyncFieldNumber = 2,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // bool doResync = 2;
  void clear_doresync() ;
  [[nodiscard]] bool doresync() const;
  void set_doresync(bool value);

  private:
  bool _internal_doresync() const;
  void _internal_set_doresync(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.UserBadEventFeedbackRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 47,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UserBadEventFeedbackRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    bool doresync_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UserBadEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UserBadEvent) */ {
 public:
  inline UserBadEvent() : UserBadEvent(nullptr) {}
  ~UserBadEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UserBadEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UserBadEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UserBadEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UserBadEvent(const UserBadEvent& from) : UserBadEvent(nullptr, from) {}
  inline UserBadEvent(UserBadEvent&& from) noexcept : UserBadEvent(nullptr, ::std::move(from)) {}
  inline UserBadEvent& operator=(const UserBadEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserBadEvent& operator=(UserBadEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UserBadEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UserBadEvent>(&UserBadEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 69;
  friend void swap(UserBadEvent& a, UserBadEvent& b) { a.Swap(&b); }
  inline void Swap(UserBadEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserBadEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UserBadEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UserBadEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UserBadEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UserBadEvent& from) { UserBadEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UserBadEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UserBadEvent"; }

  explicit UserBadEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UserBadEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UserBadEvent& from);
  UserBadEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UserBadEvent&& from) noexcept
      : UserBadEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
    kErrorMessageFieldNumber = 2,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // string errorMessage = 2;
  void clear_errormessage() ;
  [[nodiscard]] const ::std::string& errormessage() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_errormessage(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_errormessage();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_errormessage();
  void set_allocated_errormessage(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_errormessage() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_errormessage(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_errormessage();

  public:
  // @@protoc_insertion_point(class_scope:grpc.UserBadEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 44,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UserBadEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    ::google::protobuf::internal::ArenaStringPtr errormessage_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED User final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.User) */ {
 public:
  inline User() : User(nullptr) {}
  ~User() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(User* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(User));
  }
#endif

  template <typename = void>
  explicit constexpr User(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline User(const User& from) : User(nullptr, from) {}
  inline User(User&& from) noexcept : User(nullptr, ::std::move(from)) {}
  inline User& operator=(const User& from) {
    CopyFrom(from);
    return *this;
  }
  inline User& operator=(User&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const User& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<User>(&User_globals_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(User& a, User& b) { a.Swap(&b); }
  inline void Swap(User* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(User* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] User* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<User>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const User& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const User& from) { User::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(User* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.User"; }

  explicit User(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  User(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const User& from);
  User(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, User&& from) noexcept
      : User(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kAddressesFieldNumber = 9,
    kIdFieldNumber = 1,
    kUsernameFieldNumber = 2,
    kAvatarTextFieldNumber = 3,
    kPasswordFieldNumber = 8,
    kStateFieldNumber = 4,
    kSplitModeFieldNumber = 5,
    kUsedBytesFieldNumber = 6,
    kTotalBytesFieldNumber = 7,
  };
  // repeated string addresses = 9;
  [[nodiscard]] int addresses_size()
      const;
  private:
  int _internal_addresses_size() const;

  public:
  void clear_addresses() ;
  [[nodiscard]] const ::std::string& addresses(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_addresses(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_addresses(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_addresses();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_addresses(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      addresses() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_addresses();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_addresses() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_addresses();

  public:
  // string id = 1;
  void clear_id() ;
  [[nodiscard]] const ::std::string& id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_id();
  void set_allocated_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_id();

  public:
  // string username = 2;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // string avatarText = 3;
  void clear_avatartext() ;
  [[nodiscard]] const ::std::string& avatartext() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_avatartext(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_avatartext();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_avatartext();
  void set_allocated_avatartext(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_avatartext() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_avatartext(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_avatartext();

  public:
  // bytes password = 8;
  void clear_password() ;
  [[nodiscard]] const ::std::string& password() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_password(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_password();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_password();
  void set_allocated_password(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_password() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_password(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_password();

  public:
  // .grpc.UserState state = 4;
  void clear_state() ;
  [[nodiscard]] ::grpc::UserState state() const;
  void set_state(::grpc::UserState value);

  private:
  ::grpc::UserState _internal_state() const;
  void _internal_set_state(::grpc::UserState value);

  public:
  // bool splitMode = 5;
  void clear_splitmode() ;
  [[nodiscard]] bool splitmode() const;
  void set_splitmode(bool value);

  private:
  bool _internal_splitmode() const;
  void _internal_set_splitmode(bool value);

  public:
  // int64 usedBytes = 6;
  void clear_usedbytes() ;
  [[nodiscard]] ::int64_t usedbytes() const;
  void set_usedbytes(::int64_t value);

  private:
  ::int64_t _internal_usedbytes() const;
  void _internal_set_usedbytes(::int64_t value);

  public:
  // int64 totalBytes = 7;
  void clear_totalbytes() ;
  [[nodiscard]] ::int64_t totalbytes() const;
  void set_totalbytes(::int64_t value);

  private:
  ::int64_t _internal_totalbytes() const;
  void _internal_set_totalbytes(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.User)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<4, 9,
                          0, 55,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const User& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> addresses_;
    ::google::protobuf::internal::ArenaStringPtr id_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    ::google::protobuf::internal::ArenaStringPtr avatartext_;
    ::google::protobuf::internal::ArenaStringPtr password_;
    int state_;
    bool splitmode_;
    ::int64_t usedbytes_;
    ::int64_t totalbytes_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UsedBytesChangedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UsedBytesChangedEvent) */ {
 public:
  inline UsedBytesChangedEvent() : UsedBytesChangedEvent(nullptr) {}
  ~UsedBytesChangedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UsedBytesChangedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UsedBytesChangedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UsedBytesChangedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UsedBytesChangedEvent(const UsedBytesChangedEvent& from) : UsedBytesChangedEvent(nullptr, from) {}
  inline UsedBytesChangedEvent(UsedBytesChangedEvent&& from) noexcept : UsedBytesChangedEvent(nullptr, ::std::move(from)) {}
  inline UsedBytesChangedEvent& operator=(const UsedBytesChangedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UsedBytesChangedEvent& operator=(UsedBytesChangedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UsedBytesChangedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UsedBytesChangedEvent>(&UsedBytesChangedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 70;
  friend void swap(UsedBytesChangedEvent& a, UsedBytesChangedEvent& b) { a.Swap(&b); }
  inline void Swap(UsedBytesChangedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UsedBytesChangedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UsedBytesChangedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UsedBytesChangedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UsedBytesChangedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UsedBytesChangedEvent& from) { UsedBytesChangedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UsedBytesChangedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UsedBytesChangedEvent"; }

  explicit UsedBytesChangedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UsedBytesChangedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UsedBytesChangedEvent& from);
  UsedBytesChangedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UsedBytesChangedEvent&& from) noexcept
      : UsedBytesChangedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
    kUsedBytesFieldNumber = 2,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // int64 usedBytes = 2;
  void clear_usedbytes() ;
  [[nodiscard]] ::int64_t usedbytes() const;
  void set_usedbytes(::int64_t value);

  private:
  ::int64_t _internal_usedbytes() const;
  void _internal_set_usedbytes(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.UsedBytesChangedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 41,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UsedBytesChangedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    ::int64_t usedbytes_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateVersionChanged final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.UpdateVersionChanged) */ {
 public:
  inline UpdateVersionChanged() : UpdateVersionChanged(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateVersionChanged* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateVersionChanged));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateVersionChanged(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateVersionChanged(const UpdateVersionChanged& from) : UpdateVersionChanged(nullptr, from) {}
  inline UpdateVersionChanged(UpdateVersionChanged&& from) noexcept : UpdateVersionChanged(nullptr, ::std::move(from)) {}
  inline UpdateVersionChanged& operator=(const UpdateVersionChanged& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateVersionChanged& operator=(UpdateVersionChanged&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateVersionChanged& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateVersionChanged>(&UpdateVersionChanged_globals_);
  }
  static constexpr int kIndexInFileMessages = 48;
  friend void swap(UpdateVersionChanged& a, UpdateVersionChanged& b) { a.Swap(&b); }
  inline void Swap(UpdateVersionChanged* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateVersionChanged* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UpdateVersionChanged* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<UpdateVersionChanged>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const UpdateVersionChanged& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const UpdateVersionChanged& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UpdateVersionChanged"; }

  explicit UpdateVersionChanged(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateVersionChanged(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateVersionChanged& from);
  UpdateVersionChanged(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateVersionChanged&& from) noexcept
      : UpdateVersionChanged(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.UpdateVersionChanged)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateSilentRestartNeeded final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.UpdateSilentRestartNeeded) */ {
 public:
  inline UpdateSilentRestartNeeded() : UpdateSilentRestartNeeded(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateSilentRestartNeeded* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateSilentRestartNeeded));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateSilentRestartNeeded(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateSilentRestartNeeded(const UpdateSilentRestartNeeded& from) : UpdateSilentRestartNeeded(nullptr, from) {}
  inline UpdateSilentRestartNeeded(UpdateSilentRestartNeeded&& from) noexcept : UpdateSilentRestartNeeded(nullptr, ::std::move(from)) {}
  inline UpdateSilentRestartNeeded& operator=(const UpdateSilentRestartNeeded& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateSilentRestartNeeded& operator=(UpdateSilentRestartNeeded&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateSilentRestartNeeded& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateSilentRestartNeeded>(&UpdateSilentRestartNeeded_globals_);
  }
  static constexpr int kIndexInFileMessages = 45;
  friend void swap(UpdateSilentRestartNeeded& a, UpdateSilentRestartNeeded& b) { a.Swap(&b); }
  inline void Swap(UpdateSilentRestartNeeded* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateSilentRestartNeeded* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UpdateSilentRestartNeeded* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<UpdateSilentRestartNeeded>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const UpdateSilentRestartNeeded& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const UpdateSilentRestartNeeded& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UpdateSilentRestartNeeded"; }

  explicit UpdateSilentRestartNeeded(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateSilentRestartNeeded(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateSilentRestartNeeded& from);
  UpdateSilentRestartNeeded(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateSilentRestartNeeded&& from) noexcept
      : UpdateSilentRestartNeeded(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.UpdateSilentRestartNeeded)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateManualRestartNeededEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.UpdateManualRestartNeededEvent) */ {
 public:
  inline UpdateManualRestartNeededEvent() : UpdateManualRestartNeededEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateManualRestartNeededEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateManualRestartNeededEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateManualRestartNeededEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateManualRestartNeededEvent(const UpdateManualRestartNeededEvent& from) : UpdateManualRestartNeededEvent(nullptr, from) {}
  inline UpdateManualRestartNeededEvent(UpdateManualRestartNeededEvent&& from) noexcept : UpdateManualRestartNeededEvent(nullptr, ::std::move(from)) {}
  inline UpdateManualRestartNeededEvent& operator=(const UpdateManualRestartNeededEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateManualRestartNeededEvent& operator=(UpdateManualRestartNeededEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateManualRestartNeededEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateManualRestartNeededEvent>(&UpdateManualRestartNeededEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 43;
  friend void swap(UpdateManualRestartNeededEvent& a, UpdateManualRestartNeededEvent& b) { a.Swap(&b); }
  inline void Swap(UpdateManualRestartNeededEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateManualRestartNeededEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UpdateManualRestartNeededEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<UpdateManualRestartNeededEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const UpdateManualRestartNeededEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const UpdateManualRestartNeededEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UpdateManualRestartNeededEvent"; }

  explicit UpdateManualRestartNeededEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateManualRestartNeededEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateManualRestartNeededEvent& from);
  UpdateManualRestartNeededEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateManualRestartNeededEvent&& from) noexcept
      : UpdateManualRestartNeededEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.UpdateManualRestartNeededEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateManualReadyEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UpdateManualReadyEvent) */ {
 public:
  inline UpdateManualReadyEvent() : UpdateManualReadyEvent(nullptr) {}
  ~UpdateManualReadyEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateManualReadyEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateManualReadyEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateManualReadyEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateManualReadyEvent(const UpdateManualReadyEvent& from) : UpdateManualReadyEvent(nullptr, from) {}
  inline UpdateManualReadyEvent(UpdateManualReadyEvent&& from) noexcept : UpdateManualReadyEvent(nullptr, ::std::move(from)) {}
  inline UpdateManualReadyEvent& operator=(const UpdateManualReadyEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateManualReadyEvent& operator=(UpdateManualReadyEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateManualReadyEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateManualReadyEvent>(&UpdateManualReadyEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 42;
  friend void swap(UpdateManualReadyEvent& a, UpdateManualReadyEvent& b) { a.Swap(&b); }
  inline void Swap(UpdateManualReadyEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateManualReadyEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UpdateManualReadyEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UpdateManualReadyEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UpdateManualReadyEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UpdateManualReadyEvent& from) { UpdateManualReadyEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UpdateManualReadyEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UpdateManualReadyEvent"; }

  explicit UpdateManualReadyEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateManualReadyEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateManualReadyEvent& from);
  UpdateManualReadyEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateManualReadyEvent&& from) noexcept
      : UpdateManualReadyEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kVersionFieldNumber = 1,
  };
  // string version = 1;
  void clear_version() ;
  [[nodiscard]] const ::std::string& version() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_version(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_version();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_version();
  void set_allocated_version(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_version() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_version(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_version();

  public:
  // @@protoc_insertion_point(class_scope:grpc.UpdateManualReadyEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 43,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UpdateManualReadyEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr version_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateIsLatestVersion final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.UpdateIsLatestVersion) */ {
 public:
  inline UpdateIsLatestVersion() : UpdateIsLatestVersion(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateIsLatestVersion* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateIsLatestVersion));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateIsLatestVersion(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateIsLatestVersion(const UpdateIsLatestVersion& from) : UpdateIsLatestVersion(nullptr, from) {}
  inline UpdateIsLatestVersion(UpdateIsLatestVersion&& from) noexcept : UpdateIsLatestVersion(nullptr, ::std::move(from)) {}
  inline UpdateIsLatestVersion& operator=(const UpdateIsLatestVersion& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateIsLatestVersion& operator=(UpdateIsLatestVersion&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateIsLatestVersion& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateIsLatestVersion>(&UpdateIsLatestVersion_globals_);
  }
  static constexpr int kIndexInFileMessages = 46;
  friend void swap(UpdateIsLatestVersion& a, UpdateIsLatestVersion& b) { a.Swap(&b); }
  inline void Swap(UpdateIsLatestVersion* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateIsLatestVersion* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UpdateIsLatestVersion* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<UpdateIsLatestVersion>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const UpdateIsLatestVersion& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const UpdateIsLatestVersion& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UpdateIsLatestVersion"; }

  explicit UpdateIsLatestVersion(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateIsLatestVersion(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateIsLatestVersion& from);
  UpdateIsLatestVersion(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateIsLatestVersion&& from) noexcept
      : UpdateIsLatestVersion(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.UpdateIsLatestVersion)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateForceEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UpdateForceEvent) */ {
 public:
  inline UpdateForceEvent() : UpdateForceEvent(nullptr) {}
  ~UpdateForceEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateForceEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateForceEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateForceEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateForceEvent(const UpdateForceEvent& from) : UpdateForceEvent(nullptr, from) {}
  inline UpdateForceEvent(UpdateForceEvent&& from) noexcept : UpdateForceEvent(nullptr, ::std::move(from)) {}
  inline UpdateForceEvent& operator=(const UpdateForceEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateForceEvent& operator=(UpdateForceEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateForceEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateForceEvent>(&UpdateForceEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 44;
  friend void swap(UpdateForceEvent& a, UpdateForceEvent& b) { a.Swap(&b); }
  inline void Swap(UpdateForceEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateForceEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UpdateForceEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UpdateForceEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UpdateForceEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UpdateForceEvent& from) { UpdateForceEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UpdateForceEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UpdateForceEvent"; }

  explicit UpdateForceEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateForceEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateForceEvent& from);
  UpdateForceEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateForceEvent&& from) noexcept
      : UpdateForceEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kVersionFieldNumber = 1,
  };
  // string version = 1;
  void clear_version() ;
  [[nodiscard]] const ::std::string& version() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_version(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_version();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_version();
  void set_allocated_version(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_version() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_version(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_version();

  public:
  // @@protoc_insertion_point(class_scope:grpc.UpdateForceEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 37,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UpdateForceEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr version_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateErrorEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UpdateErrorEvent) */ {
 public:
  inline UpdateErrorEvent() : UpdateErrorEvent(nullptr) {}
  ~UpdateErrorEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateErrorEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateErrorEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateErrorEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateErrorEvent(const UpdateErrorEvent& from) : UpdateErrorEvent(nullptr, from) {}
  inline UpdateErrorEvent(UpdateErrorEvent&& from) noexcept : UpdateErrorEvent(nullptr, ::std::move(from)) {}
  inline UpdateErrorEvent& operator=(const UpdateErrorEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateErrorEvent& operator=(UpdateErrorEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateErrorEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateErrorEvent>(&UpdateErrorEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 41;
  friend void swap(UpdateErrorEvent& a, UpdateErrorEvent& b) { a.Swap(&b); }
  inline void Swap(UpdateErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UpdateErrorEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UpdateErrorEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UpdateErrorEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UpdateErrorEvent& from) { UpdateErrorEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UpdateErrorEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UpdateErrorEvent"; }

  explicit UpdateErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateErrorEvent& from);
  UpdateErrorEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateErrorEvent&& from) noexcept
      : UpdateErrorEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kTypeFieldNumber = 1,
  };
  // .grpc.UpdateErrorType type = 1;
  void clear_type() ;
  [[nodiscard]] ::grpc::UpdateErrorType type() const;
  void set_type(::grpc::UpdateErrorType value);

  private:
  ::grpc::UpdateErrorType _internal_type() const;
  void _internal_set_type(::grpc::UpdateErrorType value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.UpdateErrorEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UpdateErrorEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    int type_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateCheckFinished final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.UpdateCheckFinished) */ {
 public:
  inline UpdateCheckFinished() : UpdateCheckFinished(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateCheckFinished* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateCheckFinished));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateCheckFinished(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateCheckFinished(const UpdateCheckFinished& from) : UpdateCheckFinished(nullptr, from) {}
  inline UpdateCheckFinished(UpdateCheckFinished&& from) noexcept : UpdateCheckFinished(nullptr, ::std::move(from)) {}
  inline UpdateCheckFinished& operator=(const UpdateCheckFinished& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateCheckFinished& operator=(UpdateCheckFinished&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateCheckFinished& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateCheckFinished>(&UpdateCheckFinished_globals_);
  }
  static constexpr int kIndexInFileMessages = 47;
  friend void swap(UpdateCheckFinished& a, UpdateCheckFinished& b) { a.Swap(&b); }
  inline void Swap(UpdateCheckFinished* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateCheckFinished* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UpdateCheckFinished* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<UpdateCheckFinished>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const UpdateCheckFinished& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const UpdateCheckFinished& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UpdateCheckFinished"; }

  explicit UpdateCheckFinished(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateCheckFinished(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateCheckFinished& from);
  UpdateCheckFinished(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateCheckFinished&& from) noexcept
      : UpdateCheckFinished(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.UpdateCheckFinished)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ToggleSplitModeFinishedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.ToggleSplitModeFinishedEvent) */ {
 public:
  inline ToggleSplitModeFinishedEvent() : ToggleSplitModeFinishedEvent(nullptr) {}
  ~ToggleSplitModeFinishedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ToggleSplitModeFinishedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ToggleSplitModeFinishedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ToggleSplitModeFinishedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ToggleSplitModeFinishedEvent(const ToggleSplitModeFinishedEvent& from) : ToggleSplitModeFinishedEvent(nullptr, from) {}
  inline ToggleSplitModeFinishedEvent(ToggleSplitModeFinishedEvent&& from) noexcept : ToggleSplitModeFinishedEvent(nullptr, ::std::move(from)) {}
  inline ToggleSplitModeFinishedEvent& operator=(const ToggleSplitModeFinishedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ToggleSplitModeFinishedEvent& operator=(ToggleSplitModeFinishedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ToggleSplitModeFinishedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ToggleSplitModeFinishedEvent>(&ToggleSplitModeFinishedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 66;
  friend void swap(ToggleSplitModeFinishedEvent& a, ToggleSplitModeFinishedEvent& b) { a.Swap(&b); }
  inline void Swap(ToggleSplitModeFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ToggleSplitModeFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ToggleSplitModeFinishedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ToggleSplitModeFinishedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ToggleSplitModeFinishedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ToggleSplitModeFinishedEvent& from) { ToggleSplitModeFinishedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ToggleSplitModeFinishedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ToggleSplitModeFinishedEvent"; }

  explicit ToggleSplitModeFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ToggleSplitModeFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ToggleSplitModeFinishedEvent& from);
  ToggleSplitModeFinishedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ToggleSplitModeFinishedEvent&& from) noexcept
      : ToggleSplitModeFinishedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // @@protoc_insertion_point(class_scope:grpc.ToggleSplitModeFinishedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 48,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ToggleSplitModeFinishedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ToggleAutostartFinishedEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.ToggleAutostartFinishedEvent) */ {
 public:
  inline ToggleAutostartFinishedEvent() : ToggleAutostartFinishedEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ToggleAutostartFinishedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ToggleAutostartFinishedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ToggleAutostartFinishedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ToggleAutostartFinishedEvent(const ToggleAutostartFinishedEvent& from) : ToggleAutostartFinishedEvent(nullptr, from) {}
  inline ToggleAutostartFinishedEvent(ToggleAutostartFinishedEvent&& from) noexcept : ToggleAutostartFinishedEvent(nullptr, ::std::move(from)) {}
  inline ToggleAutostartFinishedEvent& operator=(const ToggleAutostartFinishedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ToggleAutostartFinishedEvent& operator=(ToggleAutostartFinishedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ToggleAutostartFinishedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ToggleAutostartFinishedEvent>(&ToggleAutostartFinishedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 16;
  friend void swap(ToggleAutostartFinishedEvent& a, ToggleAutostartFinishedEvent& b) { a.Swap(&b); }
  inline void Swap(ToggleAutostartFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ToggleAutostartFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ToggleAutostartFinishedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ToggleAutostartFinishedEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ToggleAutostartFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ToggleAutostartFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ToggleAutostartFinishedEvent"; }

  explicit ToggleAutostartFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ToggleAutostartFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ToggleAutostartFinishedEvent& from);
  ToggleAutostartFinishedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ToggleAutostartFinishedEvent&& from) noexcept
      : ToggleAutostartFinishedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.ToggleAutostartFinishedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED SyncStartedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.SyncStartedEvent) */ {
 public:
  inline SyncStartedEvent() : SyncStartedEvent(nullptr) {}
  ~SyncStartedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(SyncStartedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(SyncStartedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr SyncStartedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline SyncStartedEvent(const SyncStartedEvent& from) : SyncStartedEvent(nullptr, from) {}
  inline SyncStartedEvent(SyncStartedEvent&& from) noexcept : SyncStartedEvent(nullptr, ::std::move(from)) {}
  inline SyncStartedEvent& operator=(const SyncStartedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline SyncStartedEvent& operator=(SyncStartedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const SyncStartedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<SyncStartedEvent>(&SyncStartedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 72;
  friend void swap(SyncStartedEvent& a, SyncStartedEvent& b) { a.Swap(&b); }
  inline void Swap(SyncStartedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SyncStartedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] SyncStartedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<SyncStartedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const SyncStartedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const SyncStartedEvent& from) { SyncStartedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SyncStartedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.SyncStartedEvent"; }

  explicit SyncStartedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SyncStartedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SyncStartedEvent& from);
  SyncStartedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SyncStartedEvent&& from) noexcept
      : SyncStartedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // @@protoc_insertion_point(class_scope:grpc.SyncStartedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 36,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SyncStartedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED SyncProgressEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.SyncProgressEvent) */ {
 public:
  inline SyncProgressEvent() : SyncProgressEvent(nullptr) {}
  ~SyncProgressEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(SyncProgressEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(SyncProgressEvent));
  }
#endif

  template <typename = void>
  explicit constexpr SyncProgressEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline SyncProgressEvent(const SyncProgressEvent& from) : SyncProgressEvent(nullptr, from) {}
  inline SyncProgressEvent(SyncProgressEvent&& from) noexcept : SyncProgressEvent(nullptr, ::std::move(from)) {}
  inline SyncProgressEvent& operator=(const SyncProgressEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline SyncProgressEvent& operator=(SyncProgressEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const SyncProgressEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<SyncProgressEvent>(&SyncProgressEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 74;
  friend void swap(SyncProgressEvent& a, SyncProgressEvent& b) { a.Swap(&b); }
  inline void Swap(SyncProgressEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SyncProgressEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] SyncProgressEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<SyncProgressEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const SyncProgressEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const SyncProgressEvent& from) { SyncProgressEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SyncProgressEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.SyncProgressEvent"; }

  explicit SyncProgressEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SyncProgressEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SyncProgressEvent& from);
  SyncProgressEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SyncProgressEvent&& from) noexcept
      : SyncProgressEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
    kProgressFieldNumber = 2,
    kElapsedMsFieldNumber = 3,
    kRemainingMsFieldNumber = 4,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // double progress = 2;
  void clear_progress() ;
  [[nodiscard]] double progress() const;
  void set_progress(double value);

  private:
  double _internal_progress() const;
  void _internal_set_progress(double value);

  public:
  // int64 elapsedMs = 3;
  void clear_elapsedms() ;
  [[nodiscard]] ::int64_t elapsedms() const;
  void set_elapsedms(::int64_t value);

  private:
  ::int64_t _internal_elapsedms() const;
  void _internal_set_elapsedms(::int64_t value);

  public:
  // int64 remainingMs = 4;
  void clear_remainingms() ;
  [[nodiscard]] ::int64_t remainingms() const;
  void set_remainingms(::int64_t value);

  private:
  ::int64_t _internal_remainingms() const;
  void _internal_set_remainingms(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.SyncProgressEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          0, 37,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SyncProgressEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    double progress_;
    ::int64_t elapsedms_;
    ::int64_t remainingms_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED SyncFinishedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.SyncFinishedEvent) */ {
 public:
  inline SyncFinishedEvent() : SyncFinishedEvent(nullptr) {}
  ~SyncFinishedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(SyncFinishedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(SyncFinishedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr SyncFinishedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline SyncFinishedEvent(const SyncFinishedEvent& from) : SyncFinishedEvent(nullptr, from) {}
  inline SyncFinishedEvent(SyncFinishedEvent&& from) noexcept : SyncFinishedEvent(nullptr, ::std::move(from)) {}
  inline SyncFinishedEvent& operator=(const SyncFinishedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline SyncFinishedEvent& operator=(SyncFinishedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const SyncFinishedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<SyncFinishedEvent>(&SyncFinishedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 73;
  friend void swap(SyncFinishedEvent& a, SyncFinishedEvent& b) { a.Swap(&b); }
  inline void Swap(SyncFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SyncFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] SyncFinishedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<SyncFinishedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const SyncFinishedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const SyncFinishedEvent& from) { SyncFinishedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SyncFinishedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.SyncFinishedEvent"; }

  explicit SyncFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SyncFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SyncFinishedEvent& from);
  SyncFinishedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SyncFinishedEvent&& from) noexcept
      : SyncFinishedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // @@protoc_insertion_point(class_scope:grpc.SyncFinishedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 37,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SyncFinishedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ShowMainWindowEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.ShowMainWindowEvent) */ {
 public:
  inline ShowMainWindowEvent() : ShowMainWindowEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ShowMainWindowEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ShowMainWindowEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ShowMainWindowEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ShowMainWindowEvent(const ShowMainWindowEvent& from) : ShowMainWindowEvent(nullptr, from) {}
  inline ShowMainWindowEvent(ShowMainWindowEvent&& from) noexcept : ShowMainWindowEvent(nullptr, ::std::move(from)) {}
  inline ShowMainWindowEvent& operator=(const ShowMainWindowEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ShowMainWindowEvent& operator=(ShowMainWindowEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ShowMainWindowEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ShowMainWindowEvent>(&ShowMainWindowEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 21;
  friend void swap(ShowMainWindowEvent& a, ShowMainWindowEvent& b) { a.Swap(&b); }
  inline void Swap(ShowMainWindowEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ShowMainWindowEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ShowMainWindowEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ShowMainWindowEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ShowMainWindowEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ShowMainWindowEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ShowMainWindowEvent"; }

  explicit ShowMainWindowEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ShowMainWindowEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ShowMainWindowEvent& from);
  ShowMainWindowEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ShowMainWindowEvent&& from) noexcept
      : ShowMainWindowEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.ShowMainWindowEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ResetFinishedEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.ResetFinishedEvent) */ {
 public:
  inline ResetFinishedEvent() : ResetFinishedEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ResetFinishedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ResetFinishedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ResetFinishedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ResetFinishedEvent(const ResetFinishedEvent& from) : ResetFinishedEvent(nullptr, from) {}
  inline ResetFinishedEvent(ResetFinishedEvent&& from) noexcept : ResetFinishedEvent(nullptr, ::std::move(from)) {}
  inline ResetFinishedEvent& operator=(const ResetFinishedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ResetFinishedEvent& operator=(ResetFinishedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ResetFinishedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ResetFinishedEvent>(&ResetFinishedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 17;
  friend void swap(ResetFinishedEvent& a, ResetFinishedEvent& b) { a.Swap(&b); }
  inline void Swap(ResetFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ResetFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ResetFinishedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ResetFinishedEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ResetFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ResetFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ResetFinishedEvent"; }

  explicit ResetFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ResetFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ResetFinishedEvent& from);
  ResetFinishedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ResetFinishedEvent&& from) noexcept
      : ResetFinishedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.ResetFinishedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ReportBugSuccessEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.ReportBugSuccessEvent) */ {
 public:
  inline ReportBugSuccessEvent() : ReportBugSuccessEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ReportBugSuccessEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ReportBugSuccessEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ReportBugSuccessEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ReportBugSuccessEvent(const ReportBugSuccessEvent& from) : ReportBugSuccessEvent(nullptr, from) {}
  inline ReportBugSuccessEvent(ReportBugSuccessEvent&& from) noexcept : ReportBugSuccessEvent(nullptr, ::std::move(from)) {}
  inline ReportBugSuccessEvent& operator=(const ReportBugSuccessEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ReportBugSuccessEvent& operator=(ReportBugSuccessEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ReportBugSuccessEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ReportBugSuccessEvent>(&ReportBugSuccessEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 19;
  friend void swap(ReportBugSuccessEvent& a, ReportBugSuccessEvent& b) { a.Swap(&b); }
  inline void Swap(ReportBugSuccessEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ReportBugSuccessEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ReportBugSuccessEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ReportBugSuccessEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ReportBugSuccessEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ReportBugSuccessEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ReportBugSuccessEvent"; }

  explicit ReportBugSuccessEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ReportBugSuccessEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ReportBugSuccessEvent& from);
  ReportBugSuccessEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ReportBugSuccessEvent&& from) noexcept
      : ReportBugSuccessEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.ReportBugSuccessEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ReportBugRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.ReportBugRequest) */ {
 public:
  inline ReportBugRequest() : ReportBugRequest(nullptr) {}
  ~ReportBugRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ReportBugRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ReportBugRequest));
  }
#endif

  template <typename = void>
  explicit constexpr ReportBugRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ReportBugRequest(const ReportBugRequest& from) : ReportBugRequest(nullptr, from) {}
  inline ReportBugRequest(ReportBugRequest&& from) noexcept : ReportBugRequest(nullptr, ::std::move(from)) {}
  inline ReportBugRequest& operator=(const ReportBugRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ReportBugRequest& operator=(ReportBugRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ReportBugRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ReportBugRequest>(&ReportBugRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(ReportBugRequest& a, ReportBugRequest& b) { a.Swap(&b); }
  inline void Swap(ReportBugRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ReportBugRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ReportBugRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ReportBugRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ReportBugRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ReportBugRequest& from) { ReportBugRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ReportBugRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ReportBugRequest"; }

  explicit ReportBugRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ReportBugRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ReportBugRequest& from);
  ReportBugRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ReportBugRequest&& from) noexcept
      : ReportBugRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kOsTypeFieldNumber = 1,
    kOsVersionFieldNumber = 2,
    kTitleFieldNumber = 3,
    kDescriptionFieldNumber = 4,
    kAddressFieldNumber = 5,
    kEmailClientFieldNumber = 6,
    kIncludeLogsFieldNumber = 7,
  };
  // string osType = 1;
  void clear_ostype() ;
  [[nodiscard]] const ::std::string& ostype() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_ostype(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_ostype();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_ostype();
  void set_allocated_ostype(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_ostype() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_ostype(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_ostype();

  public:
  // string osVersion = 2;
  void clear_osversion() ;
  [[nodiscard]] const ::std::string& osversion() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_osversion(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_osversion();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_osversion();
  void set_allocated_osversion(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_osversion() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_osversion(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_osversion();

  public:
  // string title = 3;
  void clear_title() ;
  [[nodiscard]] const ::std::string& title() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_title();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_title();
  void set_allocated_title(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_title() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_title(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_title();

  public:
  // string description = 4;
  void clear_description() ;
  [[nodiscard]] const ::std::string& description() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_description();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_description();
  void set_allocated_description(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_description() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_description(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_description();

  public:
  // string address = 5;
  void clear_address() ;
  [[nodiscard]] const ::std::string& address() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_address(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_address();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_address();
  void set_allocated_address(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_address() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_address(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_address();

  public:
  // string emailClient = 6;
  void clear_emailclient() ;
  [[nodiscard]] const ::std::string& emailclient() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_emailclient(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_emailclient();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_emailclient();
  void set_allocated_emailclient(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_emailclient() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_emailclient(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_emailclient();

  public:
  // bool includeLogs = 7;
  void clear_includelogs() ;
  [[nodiscard]] bool includelogs() const;
  void set_includelogs(bool value);

  private:
  bool _internal_includelogs() const;
  void _internal_set_includelogs(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.ReportBugRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 7,
                          0, 79,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ReportBugRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr ostype_;
    ::google::protobuf::internal::ArenaStringPtr osversion_;
    ::google::protobuf::internal::ArenaStringPtr title_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    ::google::protobuf::internal::ArenaStringPtr address_;
    ::google::protobuf::internal::ArenaStringPtr emailclient_;
    bool includelogs_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ReportBugFinishedEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.ReportBugFinishedEvent) */ {
 public:
  inline ReportBugFinishedEvent() : ReportBugFinishedEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ReportBugFinishedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ReportBugFinishedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ReportBugFinishedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ReportBugFinishedEvent(const ReportBugFinishedEvent& from) : ReportBugFinishedEvent(nullptr, from) {}
  inline ReportBugFinishedEvent(ReportBugFinishedEvent&& from) noexcept : ReportBugFinishedEvent(nullptr, ::std::move(from)) {}
  inline ReportBugFinishedEvent& operator=(const ReportBugFinishedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ReportBugFinishedEvent& operator=(ReportBugFinishedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ReportBugFinishedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ReportBugFinishedEvent>(&ReportBugFinishedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 18;
  friend void swap(ReportBugFinishedEvent& a, ReportBugFinishedEvent& b) { a.Swap(&b); }
  inline void Swap(ReportBugFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ReportBugFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ReportBugFinishedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ReportBugFinishedEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ReportBugFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ReportBugFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ReportBugFinishedEvent"; }

  explicit ReportBugFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ReportBugFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ReportBugFinishedEvent& from);
  ReportBugFinishedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ReportBugFinishedEvent&& from) noexcept
      : ReportBugFinishedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.ReportBugFinishedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ReportBugFallbackEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.ReportBugFallbackEvent) */ {
 public:
  inline ReportBugFallbackEvent() : ReportBugFallbackEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ReportBugFallbackEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ReportBugFallbackEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ReportBugFallbackEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ReportBugFallbackEvent(const ReportBugFallbackEvent& from) : ReportBugFallbackEvent(nullptr, from) {}
  inline ReportBugFallbackEvent(ReportBugFallbackEvent&& from) noexcept : ReportBugFallbackEvent(nullptr, ::std::move(from)) {}
  inline ReportBugFallbackEvent& operator=(const ReportBugFallbackEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ReportBugFallbackEvent& operator=(ReportBugFallbackEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ReportBugFallbackEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ReportBugFallbackEvent>(&ReportBugFallbackEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 22;
  friend void swap(ReportBugFallbackEvent& a, ReportBugFallbackEvent& b) { a.Swap(&b); }
  inline void Swap(ReportBugFallbackEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ReportBugFallbackEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ReportBugFallbackEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ReportBugFallbackEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ReportBugFallbackEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ReportBugFallbackEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ReportBugFallbackEvent"; }

  explicit ReportBugFallbackEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ReportBugFallbackEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ReportBugFallbackEvent& from);
  ReportBugFallbackEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ReportBugFallbackEvent&& from) noexcept
      : ReportBugFallbackEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.ReportBugFallbackEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ReportBugErrorEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.ReportBugErrorEvent) */ {
 public:
  inline ReportBugErrorEvent() : ReportBugErrorEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ReportBugErrorEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ReportBugErrorEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ReportBugErrorEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ReportBugErrorEvent(const ReportBugErrorEvent& from) : ReportBugErrorEvent(nullptr, from) {}
  inline ReportBugErrorEvent(ReportBugErrorEvent&& from) noexcept : ReportBugErrorEvent(nullptr, ::std::move(from)) {}
  inline ReportBugErrorEvent& operator=(const ReportBugErrorEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ReportBugErrorEvent& operator=(ReportBugErrorEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ReportBugErrorEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ReportBugErrorEvent>(&ReportBugErrorEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 20;
  friend void swap(ReportBugErrorEvent& a, ReportBugErrorEvent& b) { a.Swap(&b); }
  inline void Swap(ReportBugErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ReportBugErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ReportBugErrorEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ReportBugErrorEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ReportBugErrorEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ReportBugErrorEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ReportBugErrorEvent"; }

  explicit ReportBugErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ReportBugErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ReportBugErrorEvent& from);
  ReportBugErrorEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ReportBugErrorEvent&& from) noexcept
      : ReportBugErrorEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.ReportBugErrorEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED RepairStartedEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.RepairStartedEvent) */ {
 public:
  inline RepairStartedEvent() : RepairStartedEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RepairStartedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RepairStartedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr RepairStartedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline RepairStartedEvent(const RepairStartedEvent& from) : RepairStartedEvent(nullptr, from) {}
  inline RepairStartedEvent(RepairStartedEvent&& from) noexcept : RepairStartedEvent(nullptr, ::std::move(from)) {}
  inline RepairStartedEvent& operator=(const RepairStartedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline RepairStartedEvent& operator=(RepairStartedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const RepairStartedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<RepairStartedEvent>(&RepairStartedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 26;
  friend void swap(RepairStartedEvent& a, RepairStartedEvent& b) { a.Swap(&b); }
  inline void Swap(RepairStartedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RepairStartedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] RepairStartedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<RepairStartedEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const RepairStartedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const RepairStartedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.RepairStartedEvent"; }

  explicit RepairStartedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RepairStartedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RepairStartedEvent& from);
  RepairStartedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RepairStartedEvent&& from) noexcept
      : RepairStartedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.RepairStartedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED RebuildKeychainEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.RebuildKeychainEvent) */ {
 public:
  inline RebuildKeychainEvent() : RebuildKeychainEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RebuildKeychainEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RebuildKeychainEvent));
  }
#endif

  template <typename = void>
  explicit constexpr RebuildKeychainEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline RebuildKeychainEvent(const RebuildKeychainEvent& from) : RebuildKeychainEvent(nullptr, from) {}
  inline RebuildKeychainEvent(RebuildKeychainEvent&& from) noexcept : RebuildKeychainEvent(nullptr, ::std::move(from)) {}
  inline RebuildKeychainEvent& operator=(const RebuildKeychainEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline RebuildKeychainEvent& operator=(RebuildKeychainEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const RebuildKeychainEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<RebuildKeychainEvent>(&RebuildKeychainEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 60;
  friend void swap(RebuildKeychainEvent& a, RebuildKeychainEvent& b) { a.Swap(&b); }
  inline void Swap(RebuildKeychainEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RebuildKeychainEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] RebuildKeychainEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<RebuildKeychainEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const RebuildKeychainEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const RebuildKeychainEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.RebuildKeychainEvent"; }

  explicit RebuildKeychainEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RebuildKeychainEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RebuildKeychainEvent& from);
  RebuildKeychainEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RebuildKeychainEvent&& from) noexcept
      : RebuildKeychainEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.RebuildKeychainEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED MailServerSettingsErrorEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.MailServerSettingsErrorEvent) */ {
 public:
  inline MailServerSettingsErrorEvent() : MailServerSettingsErrorEvent(nullptr) {}
  ~MailServerSettingsErrorEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(MailServerSettingsErrorEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(MailServerSettingsErrorEvent));
  }
#endif

  template <typename = void>
  explicit constexpr MailServerSettingsErrorEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline MailServerSettingsErrorEvent(const MailServerSettingsErrorEvent& from) : MailServerSettingsErrorEvent(nullptr, from) {}
  inline MailServerSettingsErrorEvent(MailServerSettingsErrorEvent&& from) noexcept : MailServerSettingsErrorEvent(nullptr, ::std::move(from)) {}
  inline MailServerSettingsErrorEvent& operator=(const MailServerSettingsErrorEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline MailServerSettingsErrorEvent& operator=(MailServerSettingsErrorEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const MailServerSettingsErrorEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<MailServerSettingsErrorEvent>(&MailServerSettingsErrorEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 54;
  friend void swap(MailServerSettingsErrorEvent& a, MailServerSettingsErrorEvent& b) { a.Swap(&b); }
  inline void Swap(MailServerSettingsErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MailServerSettingsErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] MailServerSettingsErrorEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<MailServerSettingsErrorEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const MailServerSettingsErrorEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const MailServerSettingsErrorEvent& from) { MailServerSettingsErrorEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(MailServerSettingsErrorEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.MailServerSettingsErrorEvent"; }

  explicit MailServerSettingsErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  MailServerSettingsErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MailServerSettingsErrorEvent& from);
  MailServerSettingsErrorEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MailServerSettingsErrorEvent&& from) noexcept
      : MailServerSettingsErrorEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kTypeFieldNumber = 1,
  };
  // .grpc.MailServerSettingsErrorType type = 1;
  void clear_type() ;
  [[nodiscard]] ::grpc::MailServerSettingsErrorType type() const;
  void set_type(::grpc::MailServerSettingsErrorType value);

  private:
  ::grpc::MailServerSettingsErrorType _internal_type() const;
  void _internal_set_type(::grpc::MailServerSettingsErrorType value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.MailServerSettingsErrorEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MailServerSettingsErrorEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    int type_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginTwoPasswordsRequestedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginTwoPasswordsRequestedEvent) */ {
 public:
  inline LoginTwoPasswordsRequestedEvent() : LoginTwoPasswordsRequestedEvent(nullptr) {}
  ~LoginTwoPasswordsRequestedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginTwoPasswordsRequestedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginTwoPasswordsRequestedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr LoginTwoPasswordsRequestedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginTwoPasswordsRequestedEvent(const LoginTwoPasswordsRequestedEvent& from) : LoginTwoPasswordsRequestedEvent(nullptr, from) {}
  inline LoginTwoPasswordsRequestedEvent(LoginTwoPasswordsRequestedEvent&& from) noexcept : LoginTwoPasswordsRequestedEvent(nullptr, ::std::move(from)) {}
  inline LoginTwoPasswordsRequestedEvent& operator=(const LoginTwoPasswordsRequestedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginTwoPasswordsRequestedEvent& operator=(LoginTwoPasswordsRequestedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginTwoPasswordsRequestedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginTwoPasswordsRequestedEvent>(&LoginTwoPasswordsRequestedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 37;
  friend void swap(LoginTwoPasswordsRequestedEvent& a, LoginTwoPasswordsRequestedEvent& b) { a.Swap(&b); }
  inline void Swap(LoginTwoPasswordsRequestedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginTwoPasswordsRequestedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginTwoPasswordsRequestedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginTwoPasswordsRequestedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginTwoPasswordsRequestedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginTwoPasswordsRequestedEvent& from) { LoginTwoPasswordsRequestedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginTwoPasswordsRequestedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginTwoPasswordsRequestedEvent"; }

  explicit LoginTwoPasswordsRequestedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginTwoPasswordsRequestedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginTwoPasswordsRequestedEvent& from);
  LoginTwoPasswordsRequestedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginTwoPasswordsRequestedEvent&& from) noexcept
      : LoginTwoPasswordsRequestedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsernameFieldNumber = 1,
  };
  // string username = 1;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginTwoPasswordsRequestedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 53,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginTwoPasswordsRequestedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginTfaRequestedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginTfaRequestedEvent) */ {
 public:
  inline LoginTfaRequestedEvent() : LoginTfaRequestedEvent(nullptr) {}
  ~LoginTfaRequestedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginTfaRequestedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginTfaRequestedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr LoginTfaRequestedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginTfaRequestedEvent(const LoginTfaRequestedEvent& from) : LoginTfaRequestedEvent(nullptr, from) {}
  inline LoginTfaRequestedEvent(LoginTfaRequestedEvent&& from) noexcept : LoginTfaRequestedEvent(nullptr, ::std::move(from)) {}
  inline LoginTfaRequestedEvent& operator=(const LoginTfaRequestedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginTfaRequestedEvent& operator=(LoginTfaRequestedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginTfaRequestedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginTfaRequestedEvent>(&LoginTfaRequestedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 32;
  friend void swap(LoginTfaRequestedEvent& a, LoginTfaRequestedEvent& b) { a.Swap(&b); }
  inline void Swap(LoginTfaRequestedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginTfaRequestedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginTfaRequestedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginTfaRequestedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginTfaRequestedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginTfaRequestedEvent& from) { LoginTfaRequestedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginTfaRequestedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginTfaRequestedEvent"; }

  explicit LoginTfaRequestedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginTfaRequestedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginTfaRequestedEvent& from);
  LoginTfaRequestedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginTfaRequestedEvent&& from) noexcept
      : LoginTfaRequestedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsernameFieldNumber = 1,
  };
  // string username = 1;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginTfaRequestedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 44,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginTfaRequestedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginTfaOrFidoRequestedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginTfaOrFidoRequestedEvent) */ {
 public:
  inline LoginTfaOrFidoRequestedEvent() : LoginTfaOrFidoRequestedEvent(nullptr) {}
  ~LoginTfaOrFidoRequestedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginTfaOrFidoRequestedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginTfaOrFidoRequestedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr LoginTfaOrFidoRequestedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginTfaOrFidoRequestedEvent(const LoginTfaOrFidoRequestedEvent& from) : LoginTfaOrFidoRequestedEvent(nullptr, from) {}
  inline LoginTfaOrFidoRequestedEvent(LoginTfaOrFidoRequestedEvent&& from) noexcept : LoginTfaOrFidoRequestedEvent(nullptr, ::std::move(from)) {}
  inline LoginTfaOrFidoRequestedEvent& operator=(const LoginTfaOrFidoRequestedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginTfaOrFidoRequestedEvent& operator=(LoginTfaOrFidoRequestedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginTfaOrFidoRequestedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginTfaOrFidoRequestedEvent>(&LoginTfaOrFidoRequestedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 34;
  friend void swap(LoginTfaOrFidoRequestedEvent& a, LoginTfaOrFidoRequestedEvent& b) { a.Swap(&b); }
  inline void Swap(LoginTfaOrFidoRequestedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginTfaOrFidoRequestedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginTfaOrFidoRequestedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginTfaOrFidoRequestedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginTfaOrFidoRequestedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginTfaOrFidoRequestedEvent& from) { LoginTfaOrFidoRequestedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginTfaOrFidoRequestedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginTfaOrFidoRequestedEvent"; }

  explicit LoginTfaOrFidoRequestedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginTfaOrFidoRequestedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginTfaOrFidoRequestedEvent& from);
  LoginTfaOrFidoRequestedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginTfaOrFidoRequestedEvent&& from) noexcept
      : LoginTfaOrFidoRequestedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsernameFieldNumber = 1,
  };
  // string username = 1;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginTfaOrFidoRequestedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 50,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginTfaOrFidoRequestedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginRequest) */ {
 public:
  inline LoginRequest() : LoginRequest(nullptr) {}
  ~LoginRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginRequest));
  }
#endif

  template <typename = void>
  explicit constexpr LoginRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginRequest(const LoginRequest& from) : LoginRequest(nullptr, from) {}
  inline LoginRequest(LoginRequest&& from) noexcept : LoginRequest(nullptr, ::std::move(from)) {}
  inline LoginRequest& operator=(const LoginRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginRequest& operator=(LoginRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginRequest>(&LoginRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(LoginRequest& a, LoginRequest& b) { a.Swap(&b); }
  inline void Swap(LoginRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginRequest& from) { LoginRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginRequest"; }

  explicit LoginRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginRequest& from);
  LoginRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginRequest&& from) noexcept
      : LoginRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsernameFieldNumber = 1,
    kPasswordFieldNumber = 2,
    kUseHvDetailsFieldNumber = 3,
  };
  // string username = 1;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // bytes password = 2;
  void clear_password() ;
  [[nodiscard]] const ::std::string& password() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_password(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_password();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_password();
  void set_allocated_password(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_password() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_password(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_password();

  public:
  // optional bool useHvDetails = 3;
  [[nodiscard]] bool has_usehvdetails()
      const;
  void clear_usehvdetails() ;
  [[nodiscard]] bool usehvdetails() const;
  void set_usehvdetails(bool value);

  private:
  bool _internal_usehvdetails() const;
  void _internal_set_usehvdetails(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          0, 34,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    ::google::protobuf::internal::ArenaStringPtr password_;
    bool usehvdetails_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginHvRequestedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginHvRequestedEvent) */ {
 public:
  inline LoginHvRequestedEvent() : LoginHvRequestedEvent(nullptr) {}
  ~LoginHvRequestedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginHvRequestedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginHvRequestedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr LoginHvRequestedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginHvRequestedEvent(const LoginHvRequestedEvent& from) : LoginHvRequestedEvent(nullptr, from) {}
  inline LoginHvRequestedEvent(LoginHvRequestedEvent&& from) noexcept : LoginHvRequestedEvent(nullptr, ::std::move(from)) {}
  inline LoginHvRequestedEvent& operator=(const LoginHvRequestedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginHvRequestedEvent& operator=(LoginHvRequestedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginHvRequestedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginHvRequestedEvent>(&LoginHvRequestedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 39;
  friend void swap(LoginHvRequestedEvent& a, LoginHvRequestedEvent& b) { a.Swap(&b); }
  inline void Swap(LoginHvRequestedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginHvRequestedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginHvRequestedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginHvRequestedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginHvRequestedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginHvRequestedEvent& from) { LoginHvRequestedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginHvRequestedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginHvRequestedEvent"; }

  explicit LoginHvRequestedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginHvRequestedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginHvRequestedEvent& from);
  LoginHvRequestedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginHvRequestedEvent&& from) noexcept
      : LoginHvRequestedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kHvUrlFieldNumber = 1,
  };
  // string hvUrl = 1;
  void clear_hvurl() ;
  [[nodiscard]] const ::std::string& hvurl() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_hvurl(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_hvurl();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_hvurl();
  void set_allocated_hvurl(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_hvurl() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_hvurl(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_hvurl();

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginHvRequestedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 40,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginHvRequestedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr hvurl_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginFinishedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginFinishedEvent) */ {
 public:
  inline LoginFinishedEvent() : LoginFinishedEvent(nullptr) {}
  ~LoginFinishedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginFinishedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginFinishedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr LoginFinishedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginFinishedEvent(const LoginFinishedEvent& from) : LoginFinishedEvent(nullptr, from) {}
  inline LoginFinishedEvent(LoginFinishedEvent&& from) noexcept : LoginFinishedEvent(nullptr, ::std::move(from)) {}
  inline LoginFinishedEvent& operator=(const LoginFinishedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginFinishedEvent& operator=(LoginFinishedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginFinishedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginFinishedEvent>(&LoginFinishedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 38;
  friend void swap(LoginFinishedEvent& a, LoginFinishedEvent& b) { a.Swap(&b); }
  inline void Swap(LoginFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginFinishedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginFinishedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginFinishedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginFinishedEvent& from) { LoginFinishedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginFinishedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginFinishedEvent"; }

  explicit LoginFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginFinishedEvent& from);
  LoginFinishedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginFinishedEvent&& from) noexcept
      : LoginFinishedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
    kWasSignedOutFieldNumber = 2,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // bool wasSignedOut = 2;
  void clear_wassignedout() ;
  [[nodiscard]] bool wassignedout() const;
  void set_wassignedout(bool value);

  private:
  bool _internal_wassignedout() const;
  void _internal_set_wassignedout(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginFinishedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 38,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginFinishedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    bool wassignedout_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginFidoTouchEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginFidoTouchEvent) */ {
 public:
  inline LoginFidoTouchEvent() : LoginFidoTouchEvent(nullptr) {}
  ~LoginFidoTouchEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginFidoTouchEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginFidoTouchEvent));
  }
#endif

  template <typename = void>
  explicit constexpr LoginFidoTouchEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginFidoTouchEvent(const LoginFidoTouchEvent& from) : LoginFidoTouchEvent(nullptr, from) {}
  inline LoginFidoTouchEvent(LoginFidoTouchEvent&& from) noexcept : LoginFidoTouchEvent(nullptr, ::std::move(from)) {}
  inline LoginFidoTouchEvent& operator=(const LoginFidoTouchEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginFidoTouchEvent& operator=(LoginFidoTouchEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginFidoTouchEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginFidoTouchEvent>(&LoginFidoTouchEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 35;
  friend void swap(LoginFidoTouchEvent& a, LoginFidoTouchEvent& b) { a.Swap(&b); }
  inline void Swap(LoginFidoTouchEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginFidoTouchEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginFidoTouchEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginFidoTouchEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginFidoTouchEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginFidoTouchEvent& from) { LoginFidoTouchEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginFidoTouchEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginFidoTouchEvent"; }

  explicit LoginFidoTouchEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginFidoTouchEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginFidoTouchEvent& from);
  LoginFidoTouchEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginFidoTouchEvent&& from) noexcept
      : LoginFidoTouchEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsernameFieldNumber = 1,
  };
  // string username = 1;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginFidoTouchEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 41,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginFidoTouchEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginFidoRequestedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginFidoRequestedEvent) */ {
 public:
  inline LoginFidoRequestedEvent() : LoginFidoRequestedEvent(nullptr) {}
  ~LoginFidoRequestedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginFidoRequestedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginFidoRequestedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr LoginFidoRequestedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginFidoRequestedEvent(const LoginFidoRequestedEvent& from) : LoginFidoRequestedEvent(nullptr, from) {}
  inline LoginFidoRequestedEvent(LoginFidoRequestedEvent&& from) noexcept : LoginFidoRequestedEvent(nullptr, ::std::move(from)) {}
  inline LoginFidoRequestedEvent& operator=(const LoginFidoRequestedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginFidoRequestedEvent& operator=(LoginFidoRequestedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginFidoRequestedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginFidoRequestedEvent>(&LoginFidoRequestedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 33;
  friend void swap(LoginFidoRequestedEvent& a, LoginFidoRequestedEvent& b) { a.Swap(&b); }
  inline void Swap(LoginFidoRequestedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginFidoRequestedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginFidoRequestedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginFidoRequestedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginFidoRequestedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginFidoRequestedEvent& from) { LoginFidoRequestedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginFidoRequestedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginFidoRequestedEvent"; }

  explicit LoginFidoRequestedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginFidoRequestedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginFidoRequestedEvent& from);
  LoginFidoRequestedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginFidoRequestedEvent&& from) noexcept
      : LoginFidoRequestedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsernameFieldNumber = 1,
  };
  // string username = 1;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginFidoRequestedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 45,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginFidoRequestedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginFidoPinRequired final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginFidoPinRequired) */ {
 public:
  inline LoginFidoPinRequired() : LoginFidoPinRequired(nullptr) {}
  ~LoginFidoPinRequired() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginFidoPinRequired* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginFidoPinRequired));
  }
#endif

  template <typename = void>
  explicit constexpr LoginFidoPinRequired(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginFidoPinRequired(const LoginFidoPinRequired& from) : LoginFidoPinRequired(nullptr, from) {}
  inline LoginFidoPinRequired(LoginFidoPinRequired&& from) noexcept : LoginFidoPinRequired(nullptr, ::std::move(from)) {}
  inline LoginFidoPinRequired& operator=(const LoginFidoPinRequired& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginFidoPinRequired& operator=(LoginFidoPinRequired&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginFidoPinRequired& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginFidoPinRequired>(&LoginFidoPinRequired_globals_);
  }
  static constexpr int kIndexInFileMessages = 36;
  friend void swap(LoginFidoPinRequired& a, LoginFidoPinRequired& b) { a.Swap(&b); }
  inline void Swap(LoginFidoPinRequired* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginFidoPinRequired* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginFidoPinRequired* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginFidoPinRequired>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginFidoPinRequired& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginFidoPinRequired& from) { LoginFidoPinRequired::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginFidoPinRequired* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginFidoPinRequired"; }

  explicit LoginFidoPinRequired(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginFidoPinRequired(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginFidoPinRequired& from);
  LoginFidoPinRequired(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginFidoPinRequired&& from) noexcept
      : LoginFidoPinRequired(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsernameFieldNumber = 1,
  };
  // string username = 1;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginFidoPinRequired)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 42,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginFidoPinRequired& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginErrorEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginErrorEvent) */ {
 public:
  inline LoginErrorEvent() : LoginErrorEvent(nullptr) {}
  ~LoginErrorEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginErrorEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginErrorEvent));
  }
#endif

  template <typename = void>
  explicit constexpr LoginErrorEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginErrorEvent(const LoginErrorEvent& from) : LoginErrorEvent(nullptr, from) {}
  inline LoginErrorEvent(LoginErrorEvent&& from) noexcept : LoginErrorEvent(nullptr, ::std::move(from)) {}
  inline LoginErrorEvent& operator=(const LoginErrorEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginErrorEvent& operator=(LoginErrorEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginErrorEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginErrorEvent>(&LoginErrorEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 31;
  friend void swap(LoginErrorEvent& a, LoginErrorEvent& b) { a.Swap(&b); }
  inline void Swap(LoginErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginErrorEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginErrorEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginErrorEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginErrorEvent& from) { LoginErrorEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginErrorEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginErrorEvent"; }

  explicit LoginErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginErrorEvent& from);
  LoginErrorEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginErrorEvent&& from) noexcept
      : LoginErrorEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kMessageFieldNumber = 2,
    kTypeFieldNumber = 1,
  };
  // string message = 2;
  void clear_message() ;
  [[nodiscard]] const ::std::string& message() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_message(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_message();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_message();
  void set_allocated_message(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_message() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_message(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_message();

  public:
  // .grpc.LoginErrorType type = 1;
  void clear_type() ;
  [[nodiscard]] ::grpc::LoginErrorType type() const;
  void set_type(::grpc::LoginErrorType value);

  private:
  ::grpc::LoginErrorType _internal_type() const;
  void _internal_set_type(::grpc::LoginErrorType value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginErrorEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 36,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginErrorEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr message_;
    int type_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginAbortRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginAbortRequest) */ {
 public:
  inline LoginAbortRequest() : LoginAbortRequest(nullptr) {}
  ~LoginAbortRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginAbortRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginAbortRequest));
  }
#endif

  template <typename = void>
  explicit constexpr LoginAbortRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginAbortRequest(const LoginAbortRequest& from) : LoginAbortRequest(nullptr, from) {}
  inline LoginAbortRequest(LoginAbortRequest&& from) noexcept : LoginAbortRequest(nullptr, ::std::move(from)) {}
  inline LoginAbortRequest& operator=(const LoginAbortRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginAbortRequest& operator=(LoginAbortRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginAbortRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginAbortRequest>(&LoginAbortRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(LoginAbortRequest& a, LoginAbortRequest& b) { a.Swap(&b); }
  inline void Swap(LoginAbortRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginAbortRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginAbortRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginAbortRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginAbortRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginAbortRequest& from) { LoginAbortRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginAbortRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginAbortRequest"; }

  explicit LoginAbortRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginAbortRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginAbortRequest& from);
  LoginAbortRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginAbortRequest&& from) noexcept
      : LoginAbortRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsernameFieldNumber = 1,
  };
  // string username = 1;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // @@protoc_insertion_point(class_scope:grpc.LoginAbortRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 39,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginAbortRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED KnowledgeBaseSuggestion final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.KnowledgeBaseSuggestion) */ {
 public:
  inline KnowledgeBaseSuggestion() : KnowledgeBaseSuggestion(nullptr) {}
  ~KnowledgeBaseSuggestion() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(KnowledgeBaseSuggestion* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(KnowledgeBaseSuggestion));
  }
#endif

  template <typename = void>
  explicit constexpr KnowledgeBaseSuggestion(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline KnowledgeBaseSuggestion(const KnowledgeBaseSuggestion& from) : KnowledgeBaseSuggestion(nullptr, from) {}
  inline KnowledgeBaseSuggestion(KnowledgeBaseSuggestion&& from) noexcept : KnowledgeBaseSuggestion(nullptr, ::std::move(from)) {}
  inline KnowledgeBaseSuggestion& operator=(const KnowledgeBaseSuggestion& from) {
    CopyFrom(from);
    return *this;
  }
  inline KnowledgeBaseSuggestion& operator=(KnowledgeBaseSuggestion&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const KnowledgeBaseSuggestion& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<KnowledgeBaseSuggestion>(&KnowledgeBaseSuggestion_globals_);
  }
  static constexpr int kIndexInFileMessages = 28;
  friend void swap(KnowledgeBaseSuggestion& a, KnowledgeBaseSuggestion& b) { a.Swap(&b); }
  inline void Swap(KnowledgeBaseSuggestion* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(KnowledgeBaseSuggestion* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] KnowledgeBaseSuggestion* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<KnowledgeBaseSuggestion>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const KnowledgeBaseSuggestion& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const KnowledgeBaseSuggestion& from) { KnowledgeBaseSuggestion::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(KnowledgeBaseSuggestion* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.KnowledgeBaseSuggestion"; }

  explicit KnowledgeBaseSuggestion(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  KnowledgeBaseSuggestion(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const KnowledgeBaseSuggestion& from);
  KnowledgeBaseSuggestion(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, KnowledgeBaseSuggestion&& from) noexcept
      : KnowledgeBaseSuggestion(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUrlFieldNumber = 1,
    kTitleFieldNumber = 2,
  };
  // string url = 1;
  void clear_url() ;
  [[nodiscard]] const ::std::string& url() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_url(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_url();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_url();
  void set_allocated_url(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_url() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_url(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_url();

  public:
  // string title = 2;
  void clear_title() ;
  [[nodiscard]] const ::std::string& title() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_title();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_title();
  void set_allocated_title(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_title() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_title(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_title();

  public:
  // @@protoc_insertion_point(class_scope:grpc.KnowledgeBaseSuggestion)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 45,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const KnowledgeBaseSuggestion& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr url_;
    ::google::protobuf::internal::ArenaStringPtr title_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED InternetStatusEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.InternetStatusEvent) */ {
 public:
  inline InternetStatusEvent() : InternetStatusEvent(nullptr) {}
  ~InternetStatusEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(InternetStatusEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(InternetStatusEvent));
  }
#endif

  template <typename = void>
  explicit constexpr InternetStatusEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline InternetStatusEvent(const InternetStatusEvent& from) : InternetStatusEvent(nullptr, from) {}
  inline InternetStatusEvent(InternetStatusEvent&& from) noexcept : InternetStatusEvent(nullptr, ::std::move(from)) {}
  inline InternetStatusEvent& operator=(const InternetStatusEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline InternetStatusEvent& operator=(InternetStatusEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const InternetStatusEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<InternetStatusEvent>(&InternetStatusEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 15;
  friend void swap(InternetStatusEvent& a, InternetStatusEvent& b) { a.Swap(&b); }
  inline void Swap(InternetStatusEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(InternetStatusEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] InternetStatusEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<InternetStatusEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const InternetStatusEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const InternetStatusEvent& from) { InternetStatusEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(InternetStatusEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.InternetStatusEvent"; }

  explicit InternetStatusEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  InternetStatusEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const InternetStatusEvent& from);
  InternetStatusEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, InternetStatusEvent&& from) noexcept
      : InternetStatusEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kConnectedFieldNumber = 1,
  };
  // bool connected = 1;
  void clear_connected() ;
  [[nodiscard]] bool connected() const;
  void set_connected(bool value);

  private:
  bool _internal_connected() const;
  void _internal_set_connected(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.InternetStatusEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const InternetStatusEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    bool connected_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ImapSmtpSettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.ImapSmtpSettings) */ {
 public:
  inline ImapSmtpSettings() : ImapSmtpSettings(nullptr) {}
  ~ImapSmtpSettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ImapSmtpSettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ImapSmtpSettings));
  }
#endif

  template <typename = void>
  explicit constexpr ImapSmtpSettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ImapSmtpSettings(const ImapSmtpSettings& from) : ImapSmtpSettings(nullptr, from) {}
  inline ImapSmtpSettings(ImapSmtpSettings&& from) noexcept : ImapSmtpSettings(nullptr, ::std::move(from)) {}
  inline ImapSmtpSettings& operator=(const ImapSmtpSettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline ImapSmtpSettings& operator=(ImapSmtpSettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ImapSmtpSettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ImapSmtpSettings>(&ImapSmtpSettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(ImapSmtpSettings& a, ImapSmtpSettings& b) { a.Swap(&b); }
  inline void Swap(ImapSmtpSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ImapSmtpSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ImapSmtpSettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ImapSmtpSettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ImapSmtpSettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ImapSmtpSettings& from) { ImapSmtpSettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ImapSmtpSettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ImapSmtpSettings"; }

  explicit ImapSmtpSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ImapSmtpSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ImapSmtpSettings& from);
  ImapSmtpSettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ImapSmtpSettings&& from) noexcept
      : ImapSmtpSettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kImapPortFieldNumber = 1,
    kSmtpPortFieldNumber = 2,
    kUseSSLForImapFieldNumber = 3,
    kUseSSLForSmtpFieldNumber = 4,
  };
  // int32 imapPort = 1;
  void clear_imapport() ;
  [[nodiscard]] ::int32_t imapport() const;
  void set_imapport(::int32_t value);

  private:
  ::int32_t _internal_imapport() const;
  void _internal_set_imapport(::int32_t value);

  public:
  // int32 smtpPort = 2;
  void clear_smtpport() ;
  [[nodiscard]] ::int32_t smtpport() const;
  void set_smtpport(::int32_t value);

  private:
  ::int32_t _internal_smtpport() const;
  void _internal_set_smtpport(::int32_t value);

  public:
  // bool useSSLForImap = 3;
  void clear_usesslforimap() ;
  [[nodiscard]] bool usesslforimap() const;
  void set_usesslforimap(bool value);

  private:
  bool _internal_usesslforimap() const;
  void _internal_set_usesslforimap(bool value);

  public:
  // bool useSSLForSmtp = 4;
  void clear_usesslforsmtp() ;
  [[nodiscard]] bool usesslforsmtp() const;
  void set_usesslforsmtp(bool value);

  private:
  bool _internal_usesslforsmtp() const;
  void _internal_set_usesslforsmtp(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.ImapSmtpSettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ImapSmtpSettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int32_t imapport_;
    ::int32_t smtpport_;
    bool usesslforimap_;
    bool usesslforsmtp_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ImapLoginFailedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.ImapLoginFailedEvent) */ {
 public:
  inline ImapLoginFailedEvent() : ImapLoginFailedEvent(nullptr) {}
  ~ImapLoginFailedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ImapLoginFailedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ImapLoginFailedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ImapLoginFailedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ImapLoginFailedEvent(const ImapLoginFailedEvent& from) : ImapLoginFailedEvent(nullptr, from) {}
  inline ImapLoginFailedEvent(ImapLoginFailedEvent&& from) noexcept : ImapLoginFailedEvent(nullptr, ::std::move(from)) {}
  inline ImapLoginFailedEvent& operator=(const ImapLoginFailedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ImapLoginFailedEvent& operator=(ImapLoginFailedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ImapLoginFailedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ImapLoginFailedEvent>(&ImapLoginFailedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 71;
  friend void swap(ImapLoginFailedEvent& a, ImapLoginFailedEvent& b) { a.Swap(&b); }
  inline void Swap(ImapLoginFailedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ImapLoginFailedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ImapLoginFailedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ImapLoginFailedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ImapLoginFailedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ImapLoginFailedEvent& from) { ImapLoginFailedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ImapLoginFailedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ImapLoginFailedEvent"; }

  explicit ImapLoginFailedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ImapLoginFailedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ImapLoginFailedEvent& from);
  ImapLoginFailedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ImapLoginFailedEvent&& from) noexcept
      : ImapLoginFailedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsernameFieldNumber = 1,
  };
  // string username = 1;
  void clear_username() ;
  [[nodiscard]] const ::std::string& username() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_username();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_username();
  void set_allocated_username(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_username() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_username(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_username();

  public:
  // @@protoc_insertion_point(class_scope:grpc.ImapLoginFailedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 42,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ImapLoginFailedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr username_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED HasNoKeychainEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.HasNoKeychainEvent) */ {
 public:
  inline HasNoKeychainEvent() : HasNoKeychainEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(HasNoKeychainEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(HasNoKeychainEvent));
  }
#endif

  template <typename = void>
  explicit constexpr HasNoKeychainEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline HasNoKeychainEvent(const HasNoKeychainEvent& from) : HasNoKeychainEvent(nullptr, from) {}
  inline HasNoKeychainEvent(HasNoKeychainEvent&& from) noexcept : HasNoKeychainEvent(nullptr, ::std::move(from)) {}
  inline HasNoKeychainEvent& operator=(const HasNoKeychainEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline HasNoKeychainEvent& operator=(HasNoKeychainEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const HasNoKeychainEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<HasNoKeychainEvent>(&HasNoKeychainEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 59;
  friend void swap(HasNoKeychainEvent& a, HasNoKeychainEvent& b) { a.Swap(&b); }
  inline void Swap(HasNoKeychainEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(HasNoKeychainEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] HasNoKeychainEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<HasNoKeychainEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const HasNoKeychainEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const HasNoKeychainEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.HasNoKeychainEvent"; }

  explicit HasNoKeychainEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  HasNoKeychainEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const HasNoKeychainEvent& from);
  HasNoKeychainEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, HasNoKeychainEvent&& from) noexcept
      : HasNoKeychainEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.HasNoKeychainEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED GuiReadyResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.GuiReadyResponse) */ {
 public:
  inline GuiReadyResponse() : GuiReadyResponse(nullptr) {}
  ~GuiReadyResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(GuiReadyResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(GuiReadyResponse));
  }
#endif

  template <typename = void>
  explicit constexpr GuiReadyResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline GuiReadyResponse(const GuiReadyResponse& from) : GuiReadyResponse(nullptr, from) {}
  inline GuiReadyResponse(GuiReadyResponse&& from) noexcept : GuiReadyResponse(nullptr, ::std::move(from)) {}
  inline GuiReadyResponse& operator=(const GuiReadyResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GuiReadyResponse& operator=(GuiReadyResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const GuiReadyResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<GuiReadyResponse>(&GuiReadyResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(GuiReadyResponse& a, GuiReadyResponse& b) { a.Swap(&b); }
  inline void Swap(GuiReadyResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GuiReadyResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] GuiReadyResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<GuiReadyResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const GuiReadyResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const GuiReadyResponse& from) { GuiReadyResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GuiReadyResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.GuiReadyResponse"; }

  explicit GuiReadyResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GuiReadyResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GuiReadyResponse& from);
  GuiReadyResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GuiReadyResponse&& from) noexcept
      : GuiReadyResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kShowSplashScreenFieldNumber = 1,
  };
  // bool showSplashScreen = 1;
  void clear_showsplashscreen() ;
  [[nodiscard]] bool showsplashscreen() const;
  void set_showsplashscreen(bool value);

  private:
  bool _internal_showsplashscreen() const;
  void _internal_set_showsplashscreen(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.GuiReadyResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GuiReadyResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    bool showsplashscreen_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED GenericErrorEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.GenericErrorEvent) */ {
 public:
  inline GenericErrorEvent() : GenericErrorEvent(nullptr) {}
  ~GenericErrorEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(GenericErrorEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(GenericErrorEvent));
  }
#endif

  template <typename = void>
  explicit constexpr GenericErrorEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline GenericErrorEvent(const GenericErrorEvent& from) : GenericErrorEvent(nullptr, from) {}
  inline GenericErrorEvent(GenericErrorEvent&& from) noexcept : GenericErrorEvent(nullptr, ::std::move(from)) {}
  inline GenericErrorEvent& operator=(const GenericErrorEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline GenericErrorEvent& operator=(GenericErrorEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const GenericErrorEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<GenericErrorEvent>(&GenericErrorEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 76;
  friend void swap(GenericErrorEvent& a, GenericErrorEvent& b) { a.Swap(&b); }
  inline void Swap(GenericErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GenericErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] GenericErrorEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<GenericErrorEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const GenericErrorEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const GenericErrorEvent& from) { GenericErrorEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GenericErrorEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.GenericErrorEvent"; }

  explicit GenericErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GenericErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GenericErrorEvent& from);
  GenericErrorEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GenericErrorEvent&& from) noexcept
      : GenericErrorEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kCodeFieldNumber = 1,
  };
  // .grpc.ErrorCode code = 1;
  void clear_code() ;
  [[nodiscard]] ::grpc::ErrorCode code() const;
  void set_code(::grpc::ErrorCode value);

  private:
  ::grpc::ErrorCode _internal_code() const;
  void _internal_set_code(::grpc::ErrorCode value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.GenericErrorEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GenericErrorEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    int code_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED EventStreamRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.EventStreamRequest) */ {
 public:
  inline EventStreamRequest() : EventStreamRequest(nullptr) {}
  ~EventStreamRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(EventStreamRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(EventStreamRequest));
  }
#endif

  template <typename = void>
  explicit constexpr EventStreamRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline EventStreamRequest(const EventStreamRequest& from) : EventStreamRequest(nullptr, from) {}
  inline EventStreamRequest(EventStreamRequest&& from) noexcept : EventStreamRequest(nullptr, ::std::move(from)) {}
  inline EventStreamRequest& operator=(const EventStreamRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline EventStreamRequest& operator=(EventStreamRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const EventStreamRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<EventStreamRequest>(&EventStreamRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 12;
  friend void swap(EventStreamRequest& a, EventStreamRequest& b) { a.Swap(&b); }
  inline void Swap(EventStreamRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(EventStreamRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] EventStreamRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<EventStreamRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const EventStreamRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const EventStreamRequest& from) { EventStreamRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(EventStreamRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.EventStreamRequest"; }

  explicit EventStreamRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  EventStreamRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EventStreamRequest& from);
  EventStreamRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, EventStreamRequest&& from) noexcept
      : EventStreamRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kClientPlatformFieldNumber = 1,
  };
  // string ClientPlatform = 1;
  void clear_clientplatform() ;
  [[nodiscard]] const ::std::string& clientplatform() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_clientplatform(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_clientplatform();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_clientplatform();
  void set_allocated_clientplatform(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_clientplatform() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_clientplatform(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_clientplatform();

  public:
  // @@protoc_insertion_point(class_scope:grpc.EventStreamRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 46,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const EventStreamRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr clientplatform_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED DiskCachePathChangedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.DiskCachePathChangedEvent) */ {
 public:
  inline DiskCachePathChangedEvent() : DiskCachePathChangedEvent(nullptr) {}
  ~DiskCachePathChangedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(DiskCachePathChangedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(DiskCachePathChangedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr DiskCachePathChangedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline DiskCachePathChangedEvent(const DiskCachePathChangedEvent& from) : DiskCachePathChangedEvent(nullptr, from) {}
  inline DiskCachePathChangedEvent(DiskCachePathChangedEvent&& from) noexcept : DiskCachePathChangedEvent(nullptr, ::std::move(from)) {}
  inline DiskCachePathChangedEvent& operator=(const DiskCachePathChangedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline DiskCachePathChangedEvent& operator=(DiskCachePathChangedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const DiskCachePathChangedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<DiskCachePathChangedEvent>(&DiskCachePathChangedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 51;
  friend void swap(DiskCachePathChangedEvent& a, DiskCachePathChangedEvent& b) { a.Swap(&b); }
  inline void Swap(DiskCachePathChangedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DiskCachePathChangedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] DiskCachePathChangedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<DiskCachePathChangedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const DiskCachePathChangedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const DiskCachePathChangedEvent& from) { DiskCachePathChangedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(DiskCachePathChangedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.DiskCachePathChangedEvent"; }

  explicit DiskCachePathChangedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  DiskCachePathChangedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DiskCachePathChangedEvent& from);
  DiskCachePathChangedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DiskCachePathChangedEvent&& from) noexcept
      : DiskCachePathChangedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kPathFieldNumber = 1,
  };
  // string path = 1;
  void clear_path() ;
  [[nodiscard]] const ::std::string& path() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_path(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_path();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_path();
  void set_allocated_path(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_path() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_path(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_path();

  public:
  // @@protoc_insertion_point(class_scope:grpc.DiskCachePathChangedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 43,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const DiskCachePathChangedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr path_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED DiskCachePathChangeFinishedEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.DiskCachePathChangeFinishedEvent) */ {
 public:
  inline DiskCachePathChangeFinishedEvent() : DiskCachePathChangeFinishedEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(DiskCachePathChangeFinishedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(DiskCachePathChangeFinishedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr DiskCachePathChangeFinishedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline DiskCachePathChangeFinishedEvent(const DiskCachePathChangeFinishedEvent& from) : DiskCachePathChangeFinishedEvent(nullptr, from) {}
  inline DiskCachePathChangeFinishedEvent(DiskCachePathChangeFinishedEvent&& from) noexcept : DiskCachePathChangeFinishedEvent(nullptr, ::std::move(from)) {}
  inline DiskCachePathChangeFinishedEvent& operator=(const DiskCachePathChangeFinishedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline DiskCachePathChangeFinishedEvent& operator=(DiskCachePathChangeFinishedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const DiskCachePathChangeFinishedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<DiskCachePathChangeFinishedEvent>(&DiskCachePathChangeFinishedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 52;
  friend void swap(DiskCachePathChangeFinishedEvent& a, DiskCachePathChangeFinishedEvent& b) { a.Swap(&b); }
  inline void Swap(DiskCachePathChangeFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DiskCachePathChangeFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] DiskCachePathChangeFinishedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<DiskCachePathChangeFinishedEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const DiskCachePathChangeFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const DiskCachePathChangeFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.DiskCachePathChangeFinishedEvent"; }

  explicit DiskCachePathChangeFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  DiskCachePathChangeFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DiskCachePathChangeFinishedEvent& from);
  DiskCachePathChangeFinishedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DiskCachePathChangeFinishedEvent&& from) noexcept
      : DiskCachePathChangeFinishedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.DiskCachePathChangeFinishedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED DiskCacheErrorEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.DiskCacheErrorEvent) */ {
 public:
  inline DiskCacheErrorEvent() : DiskCacheErrorEvent(nullptr) {}
  ~DiskCacheErrorEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(DiskCacheErrorEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(DiskCacheErrorEvent));
  }
#endif

  template <typename = void>
  explicit constexpr DiskCacheErrorEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline DiskCacheErrorEvent(const DiskCacheErrorEvent& from) : DiskCacheErrorEvent(nullptr, from) {}
  inline DiskCacheErrorEvent(DiskCacheErrorEvent&& from) noexcept : DiskCacheErrorEvent(nullptr, ::std::move(from)) {}
  inline DiskCacheErrorEvent& operator=(const DiskCacheErrorEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline DiskCacheErrorEvent& operator=(DiskCacheErrorEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const DiskCacheErrorEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<DiskCacheErrorEvent>(&DiskCacheErrorEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 50;
  friend void swap(DiskCacheErrorEvent& a, DiskCacheErrorEvent& b) { a.Swap(&b); }
  inline void Swap(DiskCacheErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DiskCacheErrorEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] DiskCacheErrorEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<DiskCacheErrorEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const DiskCacheErrorEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const DiskCacheErrorEvent& from) { DiskCacheErrorEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(DiskCacheErrorEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.DiskCacheErrorEvent"; }

  explicit DiskCacheErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  DiskCacheErrorEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DiskCacheErrorEvent& from);
  DiskCacheErrorEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DiskCacheErrorEvent&& from) noexcept
      : DiskCacheErrorEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kTypeFieldNumber = 1,
  };
  // .grpc.DiskCacheErrorType type = 1;
  void clear_type() ;
  [[nodiscard]] ::grpc::DiskCacheErrorType type() const;
  void set_type(::grpc::DiskCacheErrorType value);

  private:
  ::grpc::DiskCacheErrorType _internal_type() const;
  void _internal_set_type(::grpc::DiskCacheErrorType value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.DiskCacheErrorEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const DiskCacheErrorEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    int type_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ConfigureAppleMailRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.ConfigureAppleMailRequest) */ {
 public:
  inline ConfigureAppleMailRequest() : ConfigureAppleMailRequest(nullptr) {}
  ~ConfigureAppleMailRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ConfigureAppleMailRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ConfigureAppleMailRequest));
  }
#endif

  template <typename = void>
  explicit constexpr ConfigureAppleMailRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ConfigureAppleMailRequest(const ConfigureAppleMailRequest& from) : ConfigureAppleMailRequest(nullptr, from) {}
  inline ConfigureAppleMailRequest(ConfigureAppleMailRequest&& from) noexcept : ConfigureAppleMailRequest(nullptr, ::std::move(from)) {}
  inline ConfigureAppleMailRequest& operator=(const ConfigureAppleMailRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ConfigureAppleMailRequest& operator=(ConfigureAppleMailRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ConfigureAppleMailRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ConfigureAppleMailRequest>(&ConfigureAppleMailRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 11;
  friend void swap(ConfigureAppleMailRequest& a, ConfigureAppleMailRequest& b) { a.Swap(&b); }
  inline void Swap(ConfigureAppleMailRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ConfigureAppleMailRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ConfigureAppleMailRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ConfigureAppleMailRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ConfigureAppleMailRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ConfigureAppleMailRequest& from) { ConfigureAppleMailRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ConfigureAppleMailRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ConfigureAppleMailRequest"; }

  explicit ConfigureAppleMailRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ConfigureAppleMailRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ConfigureAppleMailRequest& from);
  ConfigureAppleMailRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ConfigureAppleMailRequest&& from) noexcept
      : ConfigureAppleMailRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserIDFieldNumber = 1,
    kAddressFieldNumber = 2,
  };
  // string userID = 1;
  void clear_userid() ;
  [[nodiscard]] const ::std::string& userid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_userid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_userid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_userid();
  void set_allocated_userid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_userid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_userid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_userid();

  public:
  // string address = 2;
  void clear_address() ;
  [[nodiscard]] const ::std::string& address() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_address(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_address();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_address();
  void set_allocated_address(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_address() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_address(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_address();

  public:
  // @@protoc_insertion_point(class_scope:grpc.ConfigureAppleMailRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 52,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ConfigureAppleMailRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr userid_;
    ::google::protobuf::internal::ArenaStringPtr address_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ChangeMailServerSettingsFinishedEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.ChangeMailServerSettingsFinishedEvent) */ {
 public:
  inline ChangeMailServerSettingsFinishedEvent() : ChangeMailServerSettingsFinishedEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ChangeMailServerSettingsFinishedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ChangeMailServerSettingsFinishedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ChangeMailServerSettingsFinishedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ChangeMailServerSettingsFinishedEvent(const ChangeMailServerSettingsFinishedEvent& from) : ChangeMailServerSettingsFinishedEvent(nullptr, from) {}
  inline ChangeMailServerSettingsFinishedEvent(ChangeMailServerSettingsFinishedEvent&& from) noexcept : ChangeMailServerSettingsFinishedEvent(nullptr, ::std::move(from)) {}
  inline ChangeMailServerSettingsFinishedEvent& operator=(const ChangeMailServerSettingsFinishedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ChangeMailServerSettingsFinishedEvent& operator=(ChangeMailServerSettingsFinishedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ChangeMailServerSettingsFinishedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ChangeMailServerSettingsFinishedEvent>(&ChangeMailServerSettingsFinishedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 56;
  friend void swap(ChangeMailServerSettingsFinishedEvent& a, ChangeMailServerSettingsFinishedEvent& b) { a.Swap(&b); }
  inline void Swap(ChangeMailServerSettingsFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ChangeMailServerSettingsFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ChangeMailServerSettingsFinishedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ChangeMailServerSettingsFinishedEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ChangeMailServerSettingsFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ChangeMailServerSettingsFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ChangeMailServerSettingsFinishedEvent"; }

  explicit ChangeMailServerSettingsFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ChangeMailServerSettingsFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ChangeMailServerSettingsFinishedEvent& from);
  ChangeMailServerSettingsFinishedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ChangeMailServerSettingsFinishedEvent&& from) noexcept
      : ChangeMailServerSettingsFinishedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.ChangeMailServerSettingsFinishedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ChangeKeychainFinishedEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.ChangeKeychainFinishedEvent) */ {
 public:
  inline ChangeKeychainFinishedEvent() : ChangeKeychainFinishedEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ChangeKeychainFinishedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ChangeKeychainFinishedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ChangeKeychainFinishedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ChangeKeychainFinishedEvent(const ChangeKeychainFinishedEvent& from) : ChangeKeychainFinishedEvent(nullptr, from) {}
  inline ChangeKeychainFinishedEvent(ChangeKeychainFinishedEvent&& from) noexcept : ChangeKeychainFinishedEvent(nullptr, ::std::move(from)) {}
  inline ChangeKeychainFinishedEvent& operator=(const ChangeKeychainFinishedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ChangeKeychainFinishedEvent& operator=(ChangeKeychainFinishedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ChangeKeychainFinishedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ChangeKeychainFinishedEvent>(&ChangeKeychainFinishedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 58;
  friend void swap(ChangeKeychainFinishedEvent& a, ChangeKeychainFinishedEvent& b) { a.Swap(&b); }
  inline void Swap(ChangeKeychainFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ChangeKeychainFinishedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ChangeKeychainFinishedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ChangeKeychainFinishedEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ChangeKeychainFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ChangeKeychainFinishedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ChangeKeychainFinishedEvent"; }

  explicit ChangeKeychainFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ChangeKeychainFinishedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ChangeKeychainFinishedEvent& from);
  ChangeKeychainFinishedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ChangeKeychainFinishedEvent&& from) noexcept
      : ChangeKeychainFinishedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.ChangeKeychainFinishedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CertificateInstallSuccessEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.CertificateInstallSuccessEvent) */ {
 public:
  inline CertificateInstallSuccessEvent() : CertificateInstallSuccessEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CertificateInstallSuccessEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CertificateInstallSuccessEvent));
  }
#endif

  template <typename = void>
  explicit constexpr CertificateInstallSuccessEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CertificateInstallSuccessEvent(const CertificateInstallSuccessEvent& from) : CertificateInstallSuccessEvent(nullptr, from) {}
  inline CertificateInstallSuccessEvent(CertificateInstallSuccessEvent&& from) noexcept : CertificateInstallSuccessEvent(nullptr, ::std::move(from)) {}
  inline CertificateInstallSuccessEvent& operator=(const CertificateInstallSuccessEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline CertificateInstallSuccessEvent& operator=(CertificateInstallSuccessEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CertificateInstallSuccessEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CertificateInstallSuccessEvent>(&CertificateInstallSuccessEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 23;
  friend void swap(CertificateInstallSuccessEvent& a, CertificateInstallSuccessEvent& b) { a.Swap(&b); }
  inline void Swap(CertificateInstallSuccessEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CertificateInstallSuccessEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CertificateInstallSuccessEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<CertificateInstallSuccessEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const CertificateInstallSuccessEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const CertificateInstallSuccessEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.CertificateInstallSuccessEvent"; }

  explicit CertificateInstallSuccessEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CertificateInstallSuccessEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CertificateInstallSuccessEvent& from);
  CertificateInstallSuccessEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CertificateInstallSuccessEvent&& from) noexcept
      : CertificateInstallSuccessEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.CertificateInstallSuccessEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CertificateInstallFailedEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.CertificateInstallFailedEvent) */ {
 public:
  inline CertificateInstallFailedEvent() : CertificateInstallFailedEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CertificateInstallFailedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CertificateInstallFailedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr CertificateInstallFailedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CertificateInstallFailedEvent(const CertificateInstallFailedEvent& from) : CertificateInstallFailedEvent(nullptr, from) {}
  inline CertificateInstallFailedEvent(CertificateInstallFailedEvent&& from) noexcept : CertificateInstallFailedEvent(nullptr, ::std::move(from)) {}
  inline CertificateInstallFailedEvent& operator=(const CertificateInstallFailedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline CertificateInstallFailedEvent& operator=(CertificateInstallFailedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CertificateInstallFailedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CertificateInstallFailedEvent>(&CertificateInstallFailedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 25;
  friend void swap(CertificateInstallFailedEvent& a, CertificateInstallFailedEvent& b) { a.Swap(&b); }
  inline void Swap(CertificateInstallFailedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CertificateInstallFailedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CertificateInstallFailedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<CertificateInstallFailedEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const CertificateInstallFailedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const CertificateInstallFailedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.CertificateInstallFailedEvent"; }

  explicit CertificateInstallFailedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CertificateInstallFailedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CertificateInstallFailedEvent& from);
  CertificateInstallFailedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CertificateInstallFailedEvent&& from) noexcept
      : CertificateInstallFailedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.CertificateInstallFailedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CertificateInstallCanceledEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.CertificateInstallCanceledEvent) */ {
 public:
  inline CertificateInstallCanceledEvent() : CertificateInstallCanceledEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CertificateInstallCanceledEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CertificateInstallCanceledEvent));
  }
#endif

  template <typename = void>
  explicit constexpr CertificateInstallCanceledEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CertificateInstallCanceledEvent(const CertificateInstallCanceledEvent& from) : CertificateInstallCanceledEvent(nullptr, from) {}
  inline CertificateInstallCanceledEvent(CertificateInstallCanceledEvent&& from) noexcept : CertificateInstallCanceledEvent(nullptr, ::std::move(from)) {}
  inline CertificateInstallCanceledEvent& operator=(const CertificateInstallCanceledEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline CertificateInstallCanceledEvent& operator=(CertificateInstallCanceledEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CertificateInstallCanceledEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CertificateInstallCanceledEvent>(&CertificateInstallCanceledEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 24;
  friend void swap(CertificateInstallCanceledEvent& a, CertificateInstallCanceledEvent& b) { a.Swap(&b); }
  inline void Swap(CertificateInstallCanceledEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CertificateInstallCanceledEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CertificateInstallCanceledEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<CertificateInstallCanceledEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const CertificateInstallCanceledEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const CertificateInstallCanceledEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.CertificateInstallCanceledEvent"; }

  explicit CertificateInstallCanceledEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CertificateInstallCanceledEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CertificateInstallCanceledEvent& from);
  CertificateInstallCanceledEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CertificateInstallCanceledEvent&& from) noexcept
      : CertificateInstallCanceledEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.CertificateInstallCanceledEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AvailableKeychainsResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.AvailableKeychainsResponse) */ {
 public:
  inline AvailableKeychainsResponse() : AvailableKeychainsResponse(nullptr) {}
  ~AvailableKeychainsResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AvailableKeychainsResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AvailableKeychainsResponse));
  }
#endif

  template <typename = void>
  explicit constexpr AvailableKeychainsResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AvailableKeychainsResponse(const AvailableKeychainsResponse& from) : AvailableKeychainsResponse(nullptr, from) {}
  inline AvailableKeychainsResponse(AvailableKeychainsResponse&& from) noexcept : AvailableKeychainsResponse(nullptr, ::std::move(from)) {}
  inline AvailableKeychainsResponse& operator=(const AvailableKeychainsResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline AvailableKeychainsResponse& operator=(AvailableKeychainsResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const AvailableKeychainsResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AvailableKeychainsResponse>(&AvailableKeychainsResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(AvailableKeychainsResponse& a, AvailableKeychainsResponse& b) { a.Swap(&b); }
  inline void Swap(AvailableKeychainsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AvailableKeychainsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AvailableKeychainsResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<AvailableKeychainsResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const AvailableKeychainsResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const AvailableKeychainsResponse& from) { AvailableKeychainsResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(AvailableKeychainsResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.AvailableKeychainsResponse"; }

  explicit AvailableKeychainsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AvailableKeychainsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AvailableKeychainsResponse& from);
  AvailableKeychainsResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AvailableKeychainsResponse&& from) noexcept
      : AvailableKeychainsResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kKeychainsFieldNumber = 1,
  };
  // repeated string keychains = 1;
  [[nodiscard]] int keychains_size()
      const;
  private:
  int _internal_keychains_size() const;

  public:
  void clear_keychains() ;
  [[nodiscard]] const ::std::string& keychains(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_keychains(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_keychains(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_keychains();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_keychains(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      keychains() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_keychains();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_keychains() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_keychains();

  public:
  // @@protoc_insertion_point(class_scope:grpc.AvailableKeychainsResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 49,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const AvailableKeychainsResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> keychains_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ApiCertIssueEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.ApiCertIssueEvent) */ {
 public:
  inline ApiCertIssueEvent() : ApiCertIssueEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ApiCertIssueEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ApiCertIssueEvent));
  }
#endif

  template <typename = void>
  explicit constexpr ApiCertIssueEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ApiCertIssueEvent(const ApiCertIssueEvent& from) : ApiCertIssueEvent(nullptr, from) {}
  inline ApiCertIssueEvent(ApiCertIssueEvent&& from) noexcept : ApiCertIssueEvent(nullptr, ::std::move(from)) {}
  inline ApiCertIssueEvent& operator=(const ApiCertIssueEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ApiCertIssueEvent& operator=(ApiCertIssueEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ApiCertIssueEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ApiCertIssueEvent>(&ApiCertIssueEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 64;
  friend void swap(ApiCertIssueEvent& a, ApiCertIssueEvent& b) { a.Swap(&b); }
  inline void Swap(ApiCertIssueEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ApiCertIssueEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ApiCertIssueEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ApiCertIssueEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ApiCertIssueEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ApiCertIssueEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.ApiCertIssueEvent"; }

  explicit ApiCertIssueEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ApiCertIssueEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ApiCertIssueEvent& from);
  ApiCertIssueEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ApiCertIssueEvent&& from) noexcept
      : ApiCertIssueEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.ApiCertIssueEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AllUsersLoadedEvent final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:grpc.AllUsersLoadedEvent) */ {
 public:
  inline AllUsersLoadedEvent() : AllUsersLoadedEvent(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AllUsersLoadedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AllUsersLoadedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr AllUsersLoadedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AllUsersLoadedEvent(const AllUsersLoadedEvent& from) : AllUsersLoadedEvent(nullptr, from) {}
  inline AllUsersLoadedEvent(AllUsersLoadedEvent&& from) noexcept : AllUsersLoadedEvent(nullptr, ::std::move(from)) {}
  inline AllUsersLoadedEvent& operator=(const AllUsersLoadedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline AllUsersLoadedEvent& operator=(AllUsersLoadedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const AllUsersLoadedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AllUsersLoadedEvent>(&AllUsersLoadedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 27;
  friend void swap(AllUsersLoadedEvent& a, AllUsersLoadedEvent& b) { a.Swap(&b); }
  inline void Swap(AllUsersLoadedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AllUsersLoadedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AllUsersLoadedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<AllUsersLoadedEvent>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const AllUsersLoadedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const AllUsersLoadedEvent& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.AllUsersLoadedEvent"; }

  explicit AllUsersLoadedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AllUsersLoadedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AllUsersLoadedEvent& from);
  AllUsersLoadedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AllUsersLoadedEvent&& from) noexcept
      : AllUsersLoadedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:grpc.AllUsersLoadedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AddressChangedLogoutEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.AddressChangedLogoutEvent) */ {
 public:
  inline AddressChangedLogoutEvent() : AddressChangedLogoutEvent(nullptr) {}
  ~AddressChangedLogoutEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AddressChangedLogoutEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AddressChangedLogoutEvent));
  }
#endif

  template <typename = void>
  explicit constexpr AddressChangedLogoutEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AddressChangedLogoutEvent(const AddressChangedLogoutEvent& from) : AddressChangedLogoutEvent(nullptr, from) {}
  inline AddressChangedLogoutEvent(AddressChangedLogoutEvent&& from) noexcept : AddressChangedLogoutEvent(nullptr, ::std::move(from)) {}
  inline AddressChangedLogoutEvent& operator=(const AddressChangedLogoutEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline AddressChangedLogoutEvent& operator=(AddressChangedLogoutEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const AddressChangedLogoutEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AddressChangedLogoutEvent>(&AddressChangedLogoutEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 63;
  friend void swap(AddressChangedLogoutEvent& a, AddressChangedLogoutEvent& b) { a.Swap(&b); }
  inline void Swap(AddressChangedLogoutEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AddressChangedLogoutEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AddressChangedLogoutEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<AddressChangedLogoutEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const AddressChangedLogoutEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const AddressChangedLogoutEvent& from) { AddressChangedLogoutEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(AddressChangedLogoutEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.AddressChangedLogoutEvent"; }

  explicit AddressChangedLogoutEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AddressChangedLogoutEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AddressChangedLogoutEvent& from);
  AddressChangedLogoutEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AddressChangedLogoutEvent&& from) noexcept
      : AddressChangedLogoutEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kAddressFieldNumber = 1,
  };
  // string address = 1;
  void clear_address() ;
  [[nodiscard]] const ::std::string& address() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_address(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_address();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_address();
  void set_allocated_address(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_address() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_address(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_address();

  public:
  // @@protoc_insertion_point(class_scope:grpc.AddressChangedLogoutEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 46,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const AddressChangedLogoutEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr address_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AddressChangedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.AddressChangedEvent) */ {
 public:
  inline AddressChangedEvent() : AddressChangedEvent(nullptr) {}
  ~AddressChangedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AddressChangedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AddressChangedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr AddressChangedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AddressChangedEvent(const AddressChangedEvent& from) : AddressChangedEvent(nullptr, from) {}
  inline AddressChangedEvent(AddressChangedEvent&& from) noexcept : AddressChangedEvent(nullptr, ::std::move(from)) {}
  inline AddressChangedEvent& operator=(const AddressChangedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline AddressChangedEvent& operator=(AddressChangedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const AddressChangedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AddressChangedEvent>(&AddressChangedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 62;
  friend void swap(AddressChangedEvent& a, AddressChangedEvent& b) { a.Swap(&b); }
  inline void Swap(AddressChangedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AddressChangedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AddressChangedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<AddressChangedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const AddressChangedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const AddressChangedEvent& from) { AddressChangedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(AddressChangedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.AddressChangedEvent"; }

  explicit AddressChangedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AddressChangedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AddressChangedEvent& from);
  AddressChangedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AddressChangedEvent&& from) noexcept
      : AddressChangedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kAddressFieldNumber = 1,
  };
  // string address = 1;
  void clear_address() ;
  [[nodiscard]] const ::std::string& address() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_address(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_address();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_address();
  void set_allocated_address(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_address() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_address(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_address();

  public:
  // @@protoc_insertion_point(class_scope:grpc.AddressChangedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 40,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const AddressChangedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr address_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AddLogEntryRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.AddLogEntryRequest) */ {
 public:
  inline AddLogEntryRequest() : AddLogEntryRequest(nullptr) {}
  ~AddLogEntryRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AddLogEntryRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AddLogEntryRequest));
  }
#endif

  template <typename = void>
  explicit constexpr AddLogEntryRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AddLogEntryRequest(const AddLogEntryRequest& from) : AddLogEntryRequest(nullptr, from) {}
  inline AddLogEntryRequest(AddLogEntryRequest&& from) noexcept : AddLogEntryRequest(nullptr, ::std::move(from)) {}
  inline AddLogEntryRequest& operator=(const AddLogEntryRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline AddLogEntryRequest& operator=(AddLogEntryRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const AddLogEntryRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AddLogEntryRequest>(&AddLogEntryRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(AddLogEntryRequest& a, AddLogEntryRequest& b) { a.Swap(&b); }
  inline void Swap(AddLogEntryRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AddLogEntryRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AddLogEntryRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<AddLogEntryRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const AddLogEntryRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const AddLogEntryRequest& from) { AddLogEntryRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(AddLogEntryRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.AddLogEntryRequest"; }

  explicit AddLogEntryRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AddLogEntryRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AddLogEntryRequest& from);
  AddLogEntryRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AddLogEntryRequest&& from) noexcept
      : AddLogEntryRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kPackageFieldNumber = 2,
    kMessageFieldNumber = 3,
    kLevelFieldNumber = 1,
  };
  // string package = 2;
  void clear_package() ;
  [[nodiscard]] const ::std::string& package() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_package(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_package();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_package();
  void set_allocated_package(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_package() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_package(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_package();

  public:
  // string message = 3;
  void clear_message() ;
  [[nodiscard]] const ::std::string& message() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_message(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_message();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_message();
  void set_allocated_message(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_message() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_message(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_message();

  public:
  // .grpc.LogLevel level = 1;
  void clear_level() ;
  [[nodiscard]] ::grpc::LogLevel level() const;
  void set_level(::grpc::LogLevel value);

  private:
  ::grpc::LogLevel _internal_level() const;
  void _internal_set_level(::grpc::LogLevel value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.AddLogEntryRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          0, 46,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const AddLogEntryRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr package_;
    ::google::protobuf::internal::ArenaStringPtr message_;
    int level_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UserListResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UserListResponse) */ {
 public:
  inline UserListResponse() : UserListResponse(nullptr) {}
  ~UserListResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UserListResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UserListResponse));
  }
#endif

  template <typename = void>
  explicit constexpr UserListResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UserListResponse(const UserListResponse& from) : UserListResponse(nullptr, from) {}
  inline UserListResponse(UserListResponse&& from) noexcept : UserListResponse(nullptr, ::std::move(from)) {}
  inline UserListResponse& operator=(const UserListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserListResponse& operator=(UserListResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UserListResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UserListResponse>(&UserListResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 10;
  friend void swap(UserListResponse& a, UserListResponse& b) { a.Swap(&b); }
  inline void Swap(UserListResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserListResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UserListResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UserListResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UserListResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UserListResponse& from) { UserListResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UserListResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UserListResponse"; }

  explicit UserListResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UserListResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UserListResponse& from);
  UserListResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UserListResponse&& from) noexcept
      : UserListResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUsersFieldNumber = 1,
  };
  // repeated .grpc.User users = 1;
  [[nodiscard]] int users_size()
      const;
  private:
  int _internal_users_size() const;

  public:
  void clear_users() ;
  [[nodiscard]] const ::grpc::User& users(int index) const;
  [[nodiscard]] ::grpc::User* PROTOBUF_NONNULL mutable_users(int index);
  ::grpc::User* PROTOBUF_NONNULL add_users();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::grpc::User>&
  users() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::grpc::User>* PROTOBUF_NONNULL
  mutable_users();

  private:
  const ::google::protobuf::RepeatedPtrField<::grpc::User>& _internal_users() const;
  ::google::protobuf::RepeatedPtrField<::grpc::User>* PROTOBUF_NONNULL _internal_mutable_users();

  public:
  // @@protoc_insertion_point(class_scope:grpc.UserListResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UserListResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::grpc::User > users_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UserEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UserEvent) */ {
 public:
  inline UserEvent() : UserEvent(nullptr) {}
  ~UserEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UserEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UserEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UserEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UserEvent(const UserEvent& from) : UserEvent(nullptr, from) {}
  inline UserEvent(UserEvent&& from) noexcept : UserEvent(nullptr, ::std::move(from)) {}
  inline UserEvent& operator=(const UserEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserEvent& operator=(UserEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UserEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UserEvent>(&UserEvent_globals_);
  }
  enum EventCase {
    kToggleSplitModeFinished = 1,
    kUserDisconnected = 2,
    kUserChanged = 3,
    kUserBadEvent = 4,
    kUsedBytesChangedEvent = 5,
    kImapLoginFailedEvent = 6,
    kSyncStartedEvent = 7,
    kSyncFinishedEvent = 8,
    kSyncProgressEvent = 9,
    EVENT_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 65;
  friend void swap(UserEvent& a, UserEvent& b) { a.Swap(&b); }
  inline void Swap(UserEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UserEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UserEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UserEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UserEvent& from) { UserEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UserEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UserEvent"; }

  explicit UserEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UserEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UserEvent& from);
  UserEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UserEvent&& from) noexcept
      : UserEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kToggleSplitModeFinishedFieldNumber = 1,
    kUserDisconnectedFieldNumber = 2,
    kUserChangedFieldNumber = 3,
    kUserBadEventFieldNumber = 4,
    kUsedBytesChangedEventFieldNumber = 5,
    kImapLoginFailedEventFieldNumber = 6,
    kSyncStartedEventFieldNumber = 7,
    kSyncFinishedEventFieldNumber = 8,
    kSyncProgressEventFieldNumber = 9,
  };
  // .grpc.ToggleSplitModeFinishedEvent toggleSplitModeFinished = 1;
  [[nodiscard]] bool has_togglesplitmodefinished()
      const;
  private:
  bool _internal_has_togglesplitmodefinished() const;

  public:
  void clear_togglesplitmodefinished() ;
  [[nodiscard]] const ::grpc::ToggleSplitModeFinishedEvent& togglesplitmodefinished() const;
  [[nodiscard]] ::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NULLABLE release_togglesplitmodefinished();
  ::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NONNULL mutable_togglesplitmodefinished();
  void set_allocated_togglesplitmodefinished(::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_togglesplitmodefinished(::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NULLABLE value);
  ::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NULLABLE unsafe_arena_release_togglesplitmodefinished();

  private:
  const ::grpc::ToggleSplitModeFinishedEvent& _internal_togglesplitmodefinished() const;
  ::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NONNULL _internal_mutable_togglesplitmodefinished();

  public:
  // .grpc.UserDisconnectedEvent userDisconnected = 2;
  [[nodiscard]] bool has_userdisconnected()
      const;
  private:
  bool _internal_has_userdisconnected() const;

  public:
  void clear_userdisconnected() ;
  [[nodiscard]] const ::grpc::UserDisconnectedEvent& userdisconnected() const;
  [[nodiscard]] ::grpc::UserDisconnectedEvent* PROTOBUF_NULLABLE release_userdisconnected();
  ::grpc::UserDisconnectedEvent* PROTOBUF_NONNULL mutable_userdisconnected();
  void set_allocated_userdisconnected(::grpc::UserDisconnectedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_userdisconnected(::grpc::UserDisconnectedEvent* PROTOBUF_NULLABLE value);
  ::grpc::UserDisconnectedEvent* PROTOBUF_NULLABLE unsafe_arena_release_userdisconnected();

  private:
  const ::grpc::UserDisconnectedEvent& _internal_userdisconnected() const;
  ::grpc::UserDisconnectedEvent* PROTOBUF_NONNULL _internal_mutable_userdisconnected();

  public:
  // .grpc.UserChangedEvent userChanged = 3;
  [[nodiscard]] bool has_userchanged()
      const;
  private:
  bool _internal_has_userchanged() const;

  public:
  void clear_userchanged() ;
  [[nodiscard]] const ::grpc::UserChangedEvent& userchanged() const;
  [[nodiscard]] ::grpc::UserChangedEvent* PROTOBUF_NULLABLE release_userchanged();
  ::grpc::UserChangedEvent* PROTOBUF_NONNULL mutable_userchanged();
  void set_allocated_userchanged(::grpc::UserChangedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_userchanged(::grpc::UserChangedEvent* PROTOBUF_NULLABLE value);
  ::grpc::UserChangedEvent* PROTOBUF_NULLABLE unsafe_arena_release_userchanged();

  private:
  const ::grpc::UserChangedEvent& _internal_userchanged() const;
  ::grpc::UserChangedEvent* PROTOBUF_NONNULL _internal_mutable_userchanged();

  public:
  // .grpc.UserBadEvent userBadEvent = 4;
  [[nodiscard]] bool has_userbadevent()
      const;
  private:
  bool _internal_has_userbadevent() const;

  public:
  void clear_userbadevent() ;
  [[nodiscard]] const ::grpc::UserBadEvent& userbadevent() const;
  [[nodiscard]] ::grpc::UserBadEvent* PROTOBUF_NULLABLE release_userbadevent();
  ::grpc::UserBadEvent* PROTOBUF_NONNULL mutable_userbadevent();
  void set_allocated_userbadevent(::grpc::UserBadEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_userbadevent(::grpc::UserBadEvent* PROTOBUF_NULLABLE value);
  ::grpc::UserBadEvent* PROTOBUF_NULLABLE unsafe_arena_release_userbadevent();

  private:
  const ::grpc::UserBadEvent& _internal_userbadevent() const;
  ::grpc::UserBadEvent* PROTOBUF_NONNULL _internal_mutable_userbadevent();

  public:
  // .grpc.UsedBytesChangedEvent usedBytesChangedEvent = 5;
  [[nodiscard]] bool has_usedbyteschangedevent()
      const;
  private:
  bool _internal_has_usedbyteschangedevent() const;

  public:
  void clear_usedbyteschangedevent() ;
  [[nodiscard]] const ::grpc::UsedBytesChangedEvent& usedbyteschangedevent() const;
  [[nodiscard]] ::grpc::UsedBytesChangedEvent* PROTOBUF_NULLABLE release_usedbyteschangedevent();
  ::grpc::UsedBytesChangedEvent* PROTOBUF_NONNULL mutable_usedbyteschangedevent();
  void set_allocated_usedbyteschangedevent(::grpc::UsedBytesChangedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_usedbyteschangedevent(::grpc::UsedBytesChangedEvent* PROTOBUF_NULLABLE value);
  ::grpc::UsedBytesChangedEvent* PROTOBUF_NULLABLE unsafe_arena_release_usedbyteschangedevent();

  private:
  const ::grpc::UsedBytesChangedEvent& _internal_usedbyteschangedevent() const;
  ::grpc::UsedBytesChangedEvent* PROTOBUF_NONNULL _internal_mutable_usedbyteschangedevent();

  public:
  // .grpc.ImapLoginFailedEvent imapLoginFailedEvent = 6;
  [[nodiscard]] bool has_imaploginfailedevent()
      const;
  private:
  bool _internal_has_imaploginfailedevent() const;

  public:
  void clear_imaploginfailedevent() ;
  [[nodiscard]] const ::grpc::ImapLoginFailedEvent& imaploginfailedevent() const;
  [[nodiscard]] ::grpc::ImapLoginFailedEvent* PROTOBUF_NULLABLE release_imaploginfailedevent();
  ::grpc::ImapLoginFailedEvent* PROTOBUF_NONNULL mutable_imaploginfailedevent();
  void set_allocated_imaploginfailedevent(::grpc::ImapLoginFailedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_imaploginfailedevent(::grpc::ImapLoginFailedEvent* PROTOBUF_NULLABLE value);
  ::grpc::ImapLoginFailedEvent* PROTOBUF_NULLABLE unsafe_arena_release_imaploginfailedevent();

  private:
  const ::grpc::ImapLoginFailedEvent& _internal_imaploginfailedevent() const;
  ::grpc::ImapLoginFailedEvent* PROTOBUF_NONNULL _internal_mutable_imaploginfailedevent();

  public:
  // .grpc.SyncStartedEvent syncStartedEvent = 7;
  [[nodiscard]] bool has_syncstartedevent()
      const;
  private:
  bool _internal_has_syncstartedevent() const;

  public:
  void clear_syncstartedevent() ;
  [[nodiscard]] const ::grpc::SyncStartedEvent& syncstartedevent() const;
  [[nodiscard]] ::grpc::SyncStartedEvent* PROTOBUF_NULLABLE release_syncstartedevent();
  ::grpc::SyncStartedEvent* PROTOBUF_NONNULL mutable_syncstartedevent();
  void set_allocated_syncstartedevent(::grpc::SyncStartedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_syncstartedevent(::grpc::SyncStartedEvent* PROTOBUF_NULLABLE value);
  ::grpc::SyncStartedEvent* PROTOBUF_NULLABLE unsafe_arena_release_syncstartedevent();

  private:
  const ::grpc::SyncStartedEvent& _internal_syncstartedevent() const;
  ::grpc::SyncStartedEvent* PROTOBUF_NONNULL _internal_mutable_syncstartedevent();

  public:
  // .grpc.SyncFinishedEvent syncFinishedEvent = 8;
  [[nodiscard]] bool has_syncfinishedevent()
      const;
  private:
  bool _internal_has_syncfinishedevent() const;

  public:
  void clear_syncfinishedevent() ;
  [[nodiscard]] const ::grpc::SyncFinishedEvent& syncfinishedevent() const;
  [[nodiscard]] ::grpc::SyncFinishedEvent* PROTOBUF_NULLABLE release_syncfinishedevent();
  ::grpc::SyncFinishedEvent* PROTOBUF_NONNULL mutable_syncfinishedevent();
  void set_allocated_syncfinishedevent(::grpc::SyncFinishedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_syncfinishedevent(::grpc::SyncFinishedEvent* PROTOBUF_NULLABLE value);
  ::grpc::SyncFinishedEvent* PROTOBUF_NULLABLE unsafe_arena_release_syncfinishedevent();

  private:
  const ::grpc::SyncFinishedEvent& _internal_syncfinishedevent() const;
  ::grpc::SyncFinishedEvent* PROTOBUF_NONNULL _internal_mutable_syncfinishedevent();

  public:
  // .grpc.SyncProgressEvent syncProgressEvent = 9;
  [[nodiscard]] bool has_syncprogressevent()
      const;
  private:
  bool _internal_has_syncprogressevent() const;

  public:
  void clear_syncprogressevent() ;
  [[nodiscard]] const ::grpc::SyncProgressEvent& syncprogressevent() const;
  [[nodiscard]] ::grpc::SyncProgressEvent* PROTOBUF_NULLABLE release_syncprogressevent();
  ::grpc::SyncProgressEvent* PROTOBUF_NONNULL mutable_syncprogressevent();
  void set_allocated_syncprogressevent(::grpc::SyncProgressEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_syncprogressevent(::grpc::SyncProgressEvent* PROTOBUF_NULLABLE value);
  ::grpc::SyncProgressEvent* PROTOBUF_NULLABLE unsafe_arena_release_syncprogressevent();

  private:
  const ::grpc::SyncProgressEvent& _internal_syncprogressevent() const;
  ::grpc::SyncProgressEvent* PROTOBUF_NONNULL _internal_mutable_syncprogressevent();

  public:
  void clear_event();
  EventCase event_case() const;
  // @@protoc_insertion_point(class_scope:grpc.UserEvent)
 private:
  class _Internal;
  void set_has_togglesplitmodefinished();
  void set_has_userdisconnected();
  void set_has_userchanged();
  void set_has_userbadevent();
  void set_has_usedbyteschangedevent();
  void set_has_imaploginfailedevent();
  void set_has_syncstartedevent();
  void set_has_syncfinishedevent();
  void set_has_syncprogressevent();
  [[nodiscard]] inline bool has_event() const;
  inline void clear_has_event();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 9,
                          9, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UserEvent& from_msg);
    union EventUnion {
      constexpr EventUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE togglesplitmodefinished_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE userdisconnected_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE userchanged_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE userbadevent_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE usedbyteschangedevent_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE imaploginfailedevent_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE syncstartedevent_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE syncfinishedevent_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE syncprogressevent_;
    } event_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.UpdateEvent) */ {
 public:
  inline UpdateEvent() : UpdateEvent(nullptr) {}
  ~UpdateEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateEvent));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateEvent(const UpdateEvent& from) : UpdateEvent(nullptr, from) {}
  inline UpdateEvent(UpdateEvent&& from) noexcept : UpdateEvent(nullptr, ::std::move(from)) {}
  inline UpdateEvent& operator=(const UpdateEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateEvent& operator=(UpdateEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateEvent>(&UpdateEvent_globals_);
  }
  enum EventCase {
    kError = 1,
    kManualReady = 2,
    kManualRestartNeeded = 3,
    kForce = 4,
    kSilentRestartNeeded = 5,
    kIsLatestVersion = 6,
    kCheckFinished = 7,
    kVersionChanged = 8,
    EVENT_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 40;
  friend void swap(UpdateEvent& a, UpdateEvent& b) { a.Swap(&b); }
  inline void Swap(UpdateEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] UpdateEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UpdateEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UpdateEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UpdateEvent& from) { UpdateEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UpdateEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.UpdateEvent"; }

  explicit UpdateEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateEvent& from);
  UpdateEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateEvent&& from) noexcept
      : UpdateEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kErrorFieldNumber = 1,
    kManualReadyFieldNumber = 2,
    kManualRestartNeededFieldNumber = 3,
    kForceFieldNumber = 4,
    kSilentRestartNeededFieldNumber = 5,
    kIsLatestVersionFieldNumber = 6,
    kCheckFinishedFieldNumber = 7,
    kVersionChangedFieldNumber = 8,
  };
  // .grpc.UpdateErrorEvent error = 1;
  [[nodiscard]] bool has_error()
      const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  [[nodiscard]] const ::grpc::UpdateErrorEvent& error() const;
  [[nodiscard]] ::grpc::UpdateErrorEvent* PROTOBUF_NULLABLE release_error();
  ::grpc::UpdateErrorEvent* PROTOBUF_NONNULL mutable_error();
  void set_allocated_error(::grpc::UpdateErrorEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_error(::grpc::UpdateErrorEvent* PROTOBUF_NULLABLE value);
  ::grpc::UpdateErrorEvent* PROTOBUF_NULLABLE unsafe_arena_release_error();

  private:
  const ::grpc::UpdateErrorEvent& _internal_error() const;
  ::grpc::UpdateErrorEvent* PROTOBUF_NONNULL _internal_mutable_error();

  public:
  // .grpc.UpdateManualReadyEvent manualReady = 2;
  [[nodiscard]] bool has_manualready()
      const;
  private:
  bool _internal_has_manualready() const;

  public:
  void clear_manualready() ;
  [[nodiscard]] const ::grpc::UpdateManualReadyEvent& manualready() const;
  [[nodiscard]] ::grpc::UpdateManualReadyEvent* PROTOBUF_NULLABLE release_manualready();
  ::grpc::UpdateManualReadyEvent* PROTOBUF_NONNULL mutable_manualready();
  void set_allocated_manualready(::grpc::UpdateManualReadyEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_manualready(::grpc::UpdateManualReadyEvent* PROTOBUF_NULLABLE value);
  ::grpc::UpdateManualReadyEvent* PROTOBUF_NULLABLE unsafe_arena_release_manualready();

  private:
  const ::grpc::UpdateManualReadyEvent& _internal_manualready() const;
  ::grpc::UpdateManualReadyEvent* PROTOBUF_NONNULL _internal_mutable_manualready();

  public:
  // .grpc.UpdateManualRestartNeededEvent manualRestartNeeded = 3;
  [[nodiscard]] bool has_manualrestartneeded()
      const;
  private:
  bool _internal_has_manualrestartneeded() const;

  public:
  void clear_manualrestartneeded() ;
  [[nodiscard]] const ::grpc::UpdateManualRestartNeededEvent& manualrestartneeded() const;
  [[nodiscard]] ::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NULLABLE release_manualrestartneeded();
  ::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NONNULL mutable_manualrestartneeded();
  void set_allocated_manualrestartneeded(::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_manualrestartneeded(::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NULLABLE value);
  ::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NULLABLE unsafe_arena_release_manualrestartneeded();

  private:
  const ::grpc::UpdateManualRestartNeededEvent& _internal_manualrestartneeded() const;
  ::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NONNULL _internal_mutable_manualrestartneeded();

  public:
  // .grpc.UpdateForceEvent force = 4;
  [[nodiscard]] bool has_force()
      const;
  private:
  bool _internal_has_force() const;

  public:
  void clear_force() ;
  [[nodiscard]] const ::grpc::UpdateForceEvent& force() const;
  [[nodiscard]] ::grpc::UpdateForceEvent* PROTOBUF_NULLABLE release_force();
  ::grpc::UpdateForceEvent* PROTOBUF_NONNULL mutable_force();
  void set_allocated_force(::grpc::UpdateForceEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_force(::grpc::UpdateForceEvent* PROTOBUF_NULLABLE value);
  ::grpc::UpdateForceEvent* PROTOBUF_NULLABLE unsafe_arena_release_force();

  private:
  const ::grpc::UpdateForceEvent& _internal_force() const;
  ::grpc::UpdateForceEvent* PROTOBUF_NONNULL _internal_mutable_force();

  public:
  // .grpc.UpdateSilentRestartNeeded silentRestartNeeded = 5;
  [[nodiscard]] bool has_silentrestartneeded()
      const;
  private:
  bool _internal_has_silentrestartneeded() const;

  public:
  void clear_silentrestartneeded() ;
  [[nodiscard]] const ::grpc::UpdateSilentRestartNeeded& silentrestartneeded() const;
  [[nodiscard]] ::grpc::UpdateSilentRestartNeeded* PROTOBUF_NULLABLE release_silentrestartneeded();
  ::grpc::UpdateSilentRestartNeeded* PROTOBUF_NONNULL mutable_silentrestartneeded();
  void set_allocated_silentrestartneeded(::grpc::UpdateSilentRestartNeeded* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_silentrestartneeded(::grpc::UpdateSilentRestartNeeded* PROTOBUF_NULLABLE value);
  ::grpc::UpdateSilentRestartNeeded* PROTOBUF_NULLABLE unsafe_arena_release_silentrestartneeded();

  private:
  const ::grpc::UpdateSilentRestartNeeded& _internal_silentrestartneeded() const;
  ::grpc::UpdateSilentRestartNeeded* PROTOBUF_NONNULL _internal_mutable_silentrestartneeded();

  public:
  // .grpc.UpdateIsLatestVersion isLatestVersion = 6;
  [[nodiscard]] bool has_islatestversion()
      const;
  private:
  bool _internal_has_islatestversion() const;

  public:
  void clear_islatestversion() ;
  [[nodiscard]] const ::grpc::UpdateIsLatestVersion& islatestversion() const;
  [[nodiscard]] ::grpc::UpdateIsLatestVersion* PROTOBUF_NULLABLE release_islatestversion();
  ::grpc::UpdateIsLatestVersion* PROTOBUF_NONNULL mutable_islatestversion();
  void set_allocated_islatestversion(::grpc::UpdateIsLatestVersion* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_islatestversion(::grpc::UpdateIsLatestVersion* PROTOBUF_NULLABLE value);
  ::grpc::UpdateIsLatestVersion* PROTOBUF_NULLABLE unsafe_arena_release_islatestversion();

  private:
  const ::grpc::UpdateIsLatestVersion& _internal_islatestversion() const;
  ::grpc::UpdateIsLatestVersion* PROTOBUF_NONNULL _internal_mutable_islatestversion();

  public:
  // .grpc.UpdateCheckFinished checkFinished = 7;
  [[nodiscard]] bool has_checkfinished()
      const;
  private:
  bool _internal_has_checkfinished() const;

  public:
  void clear_checkfinished() ;
  [[nodiscard]] const ::grpc::UpdateCheckFinished& checkfinished() const;
  [[nodiscard]] ::grpc::UpdateCheckFinished* PROTOBUF_NULLABLE release_checkfinished();
  ::grpc::UpdateCheckFinished* PROTOBUF_NONNULL mutable_checkfinished();
  void set_allocated_checkfinished(::grpc::UpdateCheckFinished* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_checkfinished(::grpc::UpdateCheckFinished* PROTOBUF_NULLABLE value);
  ::grpc::UpdateCheckFinished* PROTOBUF_NULLABLE unsafe_arena_release_checkfinished();

  private:
  const ::grpc::UpdateCheckFinished& _internal_checkfinished() const;
  ::grpc::UpdateCheckFinished* PROTOBUF_NONNULL _internal_mutable_checkfinished();

  public:
  // .grpc.UpdateVersionChanged versionChanged = 8;
  [[nodiscard]] bool has_versionchanged()
      const;
  private:
  bool _internal_has_versionchanged() const;

  public:
  void clear_versionchanged() ;
  [[nodiscard]] const ::grpc::UpdateVersionChanged& versionchanged() const;
  [[nodiscard]] ::grpc::UpdateVersionChanged* PROTOBUF_NULLABLE release_versionchanged();
  ::grpc::UpdateVersionChanged* PROTOBUF_NONNULL mutable_versionchanged();
  void set_allocated_versionchanged(::grpc::UpdateVersionChanged* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_versionchanged(::grpc::UpdateVersionChanged* PROTOBUF_NULLABLE value);
  ::grpc::UpdateVersionChanged* PROTOBUF_NULLABLE unsafe_arena_release_versionchanged();

  private:
  const ::grpc::UpdateVersionChanged& _internal_versionchanged() const;
  ::grpc::UpdateVersionChanged* PROTOBUF_NONNULL _internal_mutable_versionchanged();

  public:
  void clear_event();
  EventCase event_case() const;
  // @@protoc_insertion_point(class_scope:grpc.UpdateEvent)
 private:
  class _Internal;
  void set_has_error();
  void set_has_manualready();
  void set_has_manualrestartneeded();
  void set_has_force();
  void set_has_silentrestartneeded();
  void set_has_islatestversion();
  void set_has_checkfinished();
  void set_has_versionchanged();
  [[nodiscard]] inline bool has_event() const;
  inline void clear_has_event();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 8,
                          8, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UpdateEvent& from_msg);
    union EventUnion {
      constexpr EventUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE error_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE manualready_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE manualrestartneeded_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE force_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE silentrestartneeded_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE islatestversion_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE checkfinished_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE versionchanged_;
    } event_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED MailServerSettingsChangedEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.MailServerSettingsChangedEvent) */ {
 public:
  inline MailServerSettingsChangedEvent() : MailServerSettingsChangedEvent(nullptr) {}
  ~MailServerSettingsChangedEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(MailServerSettingsChangedEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(MailServerSettingsChangedEvent));
  }
#endif

  template <typename = void>
  explicit constexpr MailServerSettingsChangedEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline MailServerSettingsChangedEvent(const MailServerSettingsChangedEvent& from) : MailServerSettingsChangedEvent(nullptr, from) {}
  inline MailServerSettingsChangedEvent(MailServerSettingsChangedEvent&& from) noexcept : MailServerSettingsChangedEvent(nullptr, ::std::move(from)) {}
  inline MailServerSettingsChangedEvent& operator=(const MailServerSettingsChangedEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline MailServerSettingsChangedEvent& operator=(MailServerSettingsChangedEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const MailServerSettingsChangedEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<MailServerSettingsChangedEvent>(&MailServerSettingsChangedEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 55;
  friend void swap(MailServerSettingsChangedEvent& a, MailServerSettingsChangedEvent& b) { a.Swap(&b); }
  inline void Swap(MailServerSettingsChangedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MailServerSettingsChangedEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] MailServerSettingsChangedEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<MailServerSettingsChangedEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const MailServerSettingsChangedEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const MailServerSettingsChangedEvent& from) { MailServerSettingsChangedEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(MailServerSettingsChangedEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.MailServerSettingsChangedEvent"; }

  explicit MailServerSettingsChangedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  MailServerSettingsChangedEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MailServerSettingsChangedEvent& from);
  MailServerSettingsChangedEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MailServerSettingsChangedEvent&& from) noexcept
      : MailServerSettingsChangedEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kSettingsFieldNumber = 1,
  };
  // .grpc.ImapSmtpSettings settings = 1;
  [[nodiscard]] bool has_settings()
      const;
  void clear_settings() ;
  [[nodiscard]] const ::grpc::ImapSmtpSettings& settings() const;
  [[nodiscard]] ::grpc::ImapSmtpSettings* PROTOBUF_NULLABLE release_settings();
  ::grpc::ImapSmtpSettings* PROTOBUF_NONNULL mutable_settings();
  void set_allocated_settings(::grpc::ImapSmtpSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_settings(::grpc::ImapSmtpSettings* PROTOBUF_NULLABLE value);
  ::grpc::ImapSmtpSettings* PROTOBUF_NULLABLE unsafe_arena_release_settings();

  private:
  const ::grpc::ImapSmtpSettings& _internal_settings() const;
  ::grpc::ImapSmtpSettings* PROTOBUF_NONNULL _internal_mutable_settings();

  public:
  // @@protoc_insertion_point(class_scope:grpc.MailServerSettingsChangedEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MailServerSettingsChangedEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::grpc::ImapSmtpSettings* PROTOBUF_NULLABLE settings_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED MailEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.MailEvent) */ {
 public:
  inline MailEvent() : MailEvent(nullptr) {}
  ~MailEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(MailEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(MailEvent));
  }
#endif

  template <typename = void>
  explicit constexpr MailEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline MailEvent(const MailEvent& from) : MailEvent(nullptr, from) {}
  inline MailEvent(MailEvent&& from) noexcept : MailEvent(nullptr, ::std::move(from)) {}
  inline MailEvent& operator=(const MailEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline MailEvent& operator=(MailEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const MailEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<MailEvent>(&MailEvent_globals_);
  }
  enum EventCase {
    kAddressChanged = 1,
    kAddressChangedLogout = 2,
    kApiCertIssue = 3,
    EVENT_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 61;
  friend void swap(MailEvent& a, MailEvent& b) { a.Swap(&b); }
  inline void Swap(MailEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MailEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] MailEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<MailEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const MailEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const MailEvent& from) { MailEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(MailEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.MailEvent"; }

  explicit MailEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  MailEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MailEvent& from);
  MailEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MailEvent&& from) noexcept
      : MailEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kAddressChangedFieldNumber = 1,
    kAddressChangedLogoutFieldNumber = 2,
    kApiCertIssueFieldNumber = 3,
  };
  // .grpc.AddressChangedEvent addressChanged = 1;
  [[nodiscard]] bool has_addresschanged()
      const;
  private:
  bool _internal_has_addresschanged() const;

  public:
  void clear_addresschanged() ;
  [[nodiscard]] const ::grpc::AddressChangedEvent& addresschanged() const;
  [[nodiscard]] ::grpc::AddressChangedEvent* PROTOBUF_NULLABLE release_addresschanged();
  ::grpc::AddressChangedEvent* PROTOBUF_NONNULL mutable_addresschanged();
  void set_allocated_addresschanged(::grpc::AddressChangedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_addresschanged(::grpc::AddressChangedEvent* PROTOBUF_NULLABLE value);
  ::grpc::AddressChangedEvent* PROTOBUF_NULLABLE unsafe_arena_release_addresschanged();

  private:
  const ::grpc::AddressChangedEvent& _internal_addresschanged() const;
  ::grpc::AddressChangedEvent* PROTOBUF_NONNULL _internal_mutable_addresschanged();

  public:
  // .grpc.AddressChangedLogoutEvent addressChangedLogout = 2;
  [[nodiscard]] bool has_addresschangedlogout()
      const;
  private:
  bool _internal_has_addresschangedlogout() const;

  public:
  void clear_addresschangedlogout() ;
  [[nodiscard]] const ::grpc::AddressChangedLogoutEvent& addresschangedlogout() const;
  [[nodiscard]] ::grpc::AddressChangedLogoutEvent* PROTOBUF_NULLABLE release_addresschangedlogout();
  ::grpc::AddressChangedLogoutEvent* PROTOBUF_NONNULL mutable_addresschangedlogout();
  void set_allocated_addresschangedlogout(::grpc::AddressChangedLogoutEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_addresschangedlogout(::grpc::AddressChangedLogoutEvent* PROTOBUF_NULLABLE value);
  ::grpc::AddressChangedLogoutEvent* PROTOBUF_NULLABLE unsafe_arena_release_addresschangedlogout();

  private:
  const ::grpc::AddressChangedLogoutEvent& _internal_addresschangedlogout() const;
  ::grpc::AddressChangedLogoutEvent* PROTOBUF_NONNULL _internal_mutable_addresschangedlogout();

  public:
  // .grpc.ApiCertIssueEvent apiCertIssue = 3;
  [[nodiscard]] bool has_apicertissue()
      const;
  private:
  bool _internal_has_apicertissue() const;

  public:
  void clear_apicertissue() ;
  [[nodiscard]] const ::grpc::ApiCertIssueEvent& apicertissue() const;
  [[nodiscard]] ::grpc::ApiCertIssueEvent* PROTOBUF_NULLABLE release_apicertissue();
  ::grpc::ApiCertIssueEvent* PROTOBUF_NONNULL mutable_apicertissue();
  void set_allocated_apicertissue(::grpc::ApiCertIssueEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_apicertissue(::grpc::ApiCertIssueEvent* PROTOBUF_NULLABLE value);
  ::grpc::ApiCertIssueEvent* PROTOBUF_NULLABLE unsafe_arena_release_apicertissue();

  private:
  const ::grpc::ApiCertIssueEvent& _internal_apicertissue() const;
  ::grpc::ApiCertIssueEvent* PROTOBUF_NONNULL _internal_mutable_apicertissue();

  public:
  void clear_event();
  EventCase event_case() const;
  // @@protoc_insertion_point(class_scope:grpc.MailEvent)
 private:
  class _Internal;
  void set_has_addresschanged();
  void set_has_addresschangedlogout();
  void set_has_apicertissue();
  [[nodiscard]] inline bool has_event() const;
  inline void clear_has_event();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 3,
                          3, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MailEvent& from_msg);
    union EventUnion {
      constexpr EventUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE addresschanged_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE addresschangedlogout_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE apicertissue_;
    } event_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED LoginEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.LoginEvent) */ {
 public:
  inline LoginEvent() : LoginEvent(nullptr) {}
  ~LoginEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(LoginEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(LoginEvent));
  }
#endif

  template <typename = void>
  explicit constexpr LoginEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline LoginEvent(const LoginEvent& from) : LoginEvent(nullptr, from) {}
  inline LoginEvent(LoginEvent&& from) noexcept : LoginEvent(nullptr, ::std::move(from)) {}
  inline LoginEvent& operator=(const LoginEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline LoginEvent& operator=(LoginEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const LoginEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<LoginEvent>(&LoginEvent_globals_);
  }
  enum EventCase {
    kError = 1,
    kTfaRequested = 2,
    kTwoPasswordRequested = 3,
    kFinished = 4,
    kAlreadyLoggedIn = 5,
    kHvRequested = 6,
    kFidoRequested = 7,
    kTfaOrFidoRequested = 8,
    kLoginFidoTouchRequested = 9,
    kLoginFidoTouchCompleted = 10,
    kLoginFidoPinRequired = 11,
    EVENT_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 30;
  friend void swap(LoginEvent& a, LoginEvent& b) { a.Swap(&b); }
  inline void Swap(LoginEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LoginEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] LoginEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<LoginEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const LoginEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const LoginEvent& from) { LoginEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(LoginEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.LoginEvent"; }

  explicit LoginEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  LoginEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LoginEvent& from);
  LoginEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LoginEvent&& from) noexcept
      : LoginEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kErrorFieldNumber = 1,
    kTfaRequestedFieldNumber = 2,
    kTwoPasswordRequestedFieldNumber = 3,
    kFinishedFieldNumber = 4,
    kAlreadyLoggedInFieldNumber = 5,
    kHvRequestedFieldNumber = 6,
    kFidoRequestedFieldNumber = 7,
    kTfaOrFidoRequestedFieldNumber = 8,
    kLoginFidoTouchRequestedFieldNumber = 9,
    kLoginFidoTouchCompletedFieldNumber = 10,
    kLoginFidoPinRequiredFieldNumber = 11,
  };
  // .grpc.LoginErrorEvent error = 1;
  [[nodiscard]] bool has_error()
      const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  [[nodiscard]] const ::grpc::LoginErrorEvent& error() const;
  [[nodiscard]] ::grpc::LoginErrorEvent* PROTOBUF_NULLABLE release_error();
  ::grpc::LoginErrorEvent* PROTOBUF_NONNULL mutable_error();
  void set_allocated_error(::grpc::LoginErrorEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_error(::grpc::LoginErrorEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginErrorEvent* PROTOBUF_NULLABLE unsafe_arena_release_error();

  private:
  const ::grpc::LoginErrorEvent& _internal_error() const;
  ::grpc::LoginErrorEvent* PROTOBUF_NONNULL _internal_mutable_error();

  public:
  // .grpc.LoginTfaRequestedEvent tfaRequested = 2;
  [[nodiscard]] bool has_tfarequested()
      const;
  private:
  bool _internal_has_tfarequested() const;

  public:
  void clear_tfarequested() ;
  [[nodiscard]] const ::grpc::LoginTfaRequestedEvent& tfarequested() const;
  [[nodiscard]] ::grpc::LoginTfaRequestedEvent* PROTOBUF_NULLABLE release_tfarequested();
  ::grpc::LoginTfaRequestedEvent* PROTOBUF_NONNULL mutable_tfarequested();
  void set_allocated_tfarequested(::grpc::LoginTfaRequestedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_tfarequested(::grpc::LoginTfaRequestedEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginTfaRequestedEvent* PROTOBUF_NULLABLE unsafe_arena_release_tfarequested();

  private:
  const ::grpc::LoginTfaRequestedEvent& _internal_tfarequested() const;
  ::grpc::LoginTfaRequestedEvent* PROTOBUF_NONNULL _internal_mutable_tfarequested();

  public:
  // .grpc.LoginTwoPasswordsRequestedEvent twoPasswordRequested = 3;
  [[nodiscard]] bool has_twopasswordrequested()
      const;
  private:
  bool _internal_has_twopasswordrequested() const;

  public:
  void clear_twopasswordrequested() ;
  [[nodiscard]] const ::grpc::LoginTwoPasswordsRequestedEvent& twopasswordrequested() const;
  [[nodiscard]] ::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NULLABLE release_twopasswordrequested();
  ::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NONNULL mutable_twopasswordrequested();
  void set_allocated_twopasswordrequested(::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_twopasswordrequested(::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NULLABLE unsafe_arena_release_twopasswordrequested();

  private:
  const ::grpc::LoginTwoPasswordsRequestedEvent& _internal_twopasswordrequested() const;
  ::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NONNULL _internal_mutable_twopasswordrequested();

  public:
  // .grpc.LoginFinishedEvent finished = 4;
  [[nodiscard]] bool has_finished()
      const;
  private:
  bool _internal_has_finished() const;

  public:
  void clear_finished() ;
  [[nodiscard]] const ::grpc::LoginFinishedEvent& finished() const;
  [[nodiscard]] ::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE release_finished();
  ::grpc::LoginFinishedEvent* PROTOBUF_NONNULL mutable_finished();
  void set_allocated_finished(::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_finished(::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE unsafe_arena_release_finished();

  private:
  const ::grpc::LoginFinishedEvent& _internal_finished() const;
  ::grpc::LoginFinishedEvent* PROTOBUF_NONNULL _internal_mutable_finished();

  public:
  // .grpc.LoginFinishedEvent alreadyLoggedIn = 5;
  [[nodiscard]] bool has_alreadyloggedin()
      const;
  private:
  bool _internal_has_alreadyloggedin() const;

  public:
  void clear_alreadyloggedin() ;
  [[nodiscard]] const ::grpc::LoginFinishedEvent& alreadyloggedin() const;
  [[nodiscard]] ::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE release_alreadyloggedin();
  ::grpc::LoginFinishedEvent* PROTOBUF_NONNULL mutable_alreadyloggedin();
  void set_allocated_alreadyloggedin(::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_alreadyloggedin(::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE unsafe_arena_release_alreadyloggedin();

  private:
  const ::grpc::LoginFinishedEvent& _internal_alreadyloggedin() const;
  ::grpc::LoginFinishedEvent* PROTOBUF_NONNULL _internal_mutable_alreadyloggedin();

  public:
  // .grpc.LoginHvRequestedEvent hvRequested = 6;
  [[nodiscard]] bool has_hvrequested()
      const;
  private:
  bool _internal_has_hvrequested() const;

  public:
  void clear_hvrequested() ;
  [[nodiscard]] const ::grpc::LoginHvRequestedEvent& hvrequested() const;
  [[nodiscard]] ::grpc::LoginHvRequestedEvent* PROTOBUF_NULLABLE release_hvrequested();
  ::grpc::LoginHvRequestedEvent* PROTOBUF_NONNULL mutable_hvrequested();
  void set_allocated_hvrequested(::grpc::LoginHvRequestedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_hvrequested(::grpc::LoginHvRequestedEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginHvRequestedEvent* PROTOBUF_NULLABLE unsafe_arena_release_hvrequested();

  private:
  const ::grpc::LoginHvRequestedEvent& _internal_hvrequested() const;
  ::grpc::LoginHvRequestedEvent* PROTOBUF_NONNULL _internal_mutable_hvrequested();

  public:
  // .grpc.LoginFidoRequestedEvent fidoRequested = 7;
  [[nodiscard]] bool has_fidorequested()
      const;
  private:
  bool _internal_has_fidorequested() const;

  public:
  void clear_fidorequested() ;
  [[nodiscard]] const ::grpc::LoginFidoRequestedEvent& fidorequested() const;
  [[nodiscard]] ::grpc::LoginFidoRequestedEvent* PROTOBUF_NULLABLE release_fidorequested();
  ::grpc::LoginFidoRequestedEvent* PROTOBUF_NONNULL mutable_fidorequested();
  void set_allocated_fidorequested(::grpc::LoginFidoRequestedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_fidorequested(::grpc::LoginFidoRequestedEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginFidoRequestedEvent* PROTOBUF_NULLABLE unsafe_arena_release_fidorequested();

  private:
  const ::grpc::LoginFidoRequestedEvent& _internal_fidorequested() const;
  ::grpc::LoginFidoRequestedEvent* PROTOBUF_NONNULL _internal_mutable_fidorequested();

  public:
  // .grpc.LoginTfaOrFidoRequestedEvent tfaOrFidoRequested = 8;
  [[nodiscard]] bool has_tfaorfidorequested()
      const;
  private:
  bool _internal_has_tfaorfidorequested() const;

  public:
  void clear_tfaorfidorequested() ;
  [[nodiscard]] const ::grpc::LoginTfaOrFidoRequestedEvent& tfaorfidorequested() const;
  [[nodiscard]] ::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NULLABLE release_tfaorfidorequested();
  ::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NONNULL mutable_tfaorfidorequested();
  void set_allocated_tfaorfidorequested(::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_tfaorfidorequested(::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NULLABLE unsafe_arena_release_tfaorfidorequested();

  private:
  const ::grpc::LoginTfaOrFidoRequestedEvent& _internal_tfaorfidorequested() const;
  ::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NONNULL _internal_mutable_tfaorfidorequested();

  public:
  // .grpc.LoginFidoTouchEvent loginFidoTouchRequested = 9;
  [[nodiscard]] bool has_loginfidotouchrequested()
      const;
  private:
  bool _internal_has_loginfidotouchrequested() const;

  public:
  void clear_loginfidotouchrequested() ;
  [[nodiscard]] const ::grpc::LoginFidoTouchEvent& loginfidotouchrequested() const;
  [[nodiscard]] ::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE release_loginfidotouchrequested();
  ::grpc::LoginFidoTouchEvent* PROTOBUF_NONNULL mutable_loginfidotouchrequested();
  void set_allocated_loginfidotouchrequested(::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_loginfidotouchrequested(::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE unsafe_arena_release_loginfidotouchrequested();

  private:
  const ::grpc::LoginFidoTouchEvent& _internal_loginfidotouchrequested() const;
  ::grpc::LoginFidoTouchEvent* PROTOBUF_NONNULL _internal_mutable_loginfidotouchrequested();

  public:
  // .grpc.LoginFidoTouchEvent loginFidoTouchCompleted = 10;
  [[nodiscard]] bool has_loginfidotouchcompleted()
      const;
  private:
  bool _internal_has_loginfidotouchcompleted() const;

  public:
  void clear_loginfidotouchcompleted() ;
  [[nodiscard]] const ::grpc::LoginFidoTouchEvent& loginfidotouchcompleted() const;
  [[nodiscard]] ::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE release_loginfidotouchcompleted();
  ::grpc::LoginFidoTouchEvent* PROTOBUF_NONNULL mutable_loginfidotouchcompleted();
  void set_allocated_loginfidotouchcompleted(::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_loginfidotouchcompleted(::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE unsafe_arena_release_loginfidotouchcompleted();

  private:
  const ::grpc::LoginFidoTouchEvent& _internal_loginfidotouchcompleted() const;
  ::grpc::LoginFidoTouchEvent* PROTOBUF_NONNULL _internal_mutable_loginfidotouchcompleted();

  public:
  // .grpc.LoginFidoPinRequired loginFidoPinRequired = 11;
  [[nodiscard]] bool has_loginfidopinrequired()
      const;
  private:
  bool _internal_has_loginfidopinrequired() const;

  public:
  void clear_loginfidopinrequired() ;
  [[nodiscard]] const ::grpc::LoginFidoPinRequired& loginfidopinrequired() const;
  [[nodiscard]] ::grpc::LoginFidoPinRequired* PROTOBUF_NULLABLE release_loginfidopinrequired();
  ::grpc::LoginFidoPinRequired* PROTOBUF_NONNULL mutable_loginfidopinrequired();
  void set_allocated_loginfidopinrequired(::grpc::LoginFidoPinRequired* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_loginfidopinrequired(::grpc::LoginFidoPinRequired* PROTOBUF_NULLABLE value);
  ::grpc::LoginFidoPinRequired* PROTOBUF_NULLABLE unsafe_arena_release_loginfidopinrequired();

  private:
  const ::grpc::LoginFidoPinRequired& _internal_loginfidopinrequired() const;
  ::grpc::LoginFidoPinRequired* PROTOBUF_NONNULL _internal_mutable_loginfidopinrequired();

  public:
  void clear_event();
  EventCase event_case() const;
  // @@protoc_insertion_point(class_scope:grpc.LoginEvent)
 private:
  class _Internal;
  void set_has_error();
  void set_has_tfarequested();
  void set_has_twopasswordrequested();
  void set_has_finished();
  void set_has_alreadyloggedin();
  void set_has_hvrequested();
  void set_has_fidorequested();
  void set_has_tfaorfidorequested();
  void set_has_loginfidotouchrequested();
  void set_has_loginfidotouchcompleted();
  void set_has_loginfidopinrequired();
  [[nodiscard]] inline bool has_event() const;
  inline void clear_has_event();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 11,
                          11, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LoginEvent& from_msg);
    union EventUnion {
      constexpr EventUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE error_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE tfarequested_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE twopasswordrequested_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE finished_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE alreadyloggedin_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE hvrequested_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE fidorequested_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE tfaorfidorequested_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE loginfidotouchrequested_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE loginfidotouchcompleted_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE loginfidopinrequired_;
    } event_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED KnowledgeBaseSuggestionsEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.KnowledgeBaseSuggestionsEvent) */ {
 public:
  inline KnowledgeBaseSuggestionsEvent() : KnowledgeBaseSuggestionsEvent(nullptr) {}
  ~KnowledgeBaseSuggestionsEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(KnowledgeBaseSuggestionsEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(KnowledgeBaseSuggestionsEvent));
  }
#endif

  template <typename = void>
  explicit constexpr KnowledgeBaseSuggestionsEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline KnowledgeBaseSuggestionsEvent(const KnowledgeBaseSuggestionsEvent& from) : KnowledgeBaseSuggestionsEvent(nullptr, from) {}
  inline KnowledgeBaseSuggestionsEvent(KnowledgeBaseSuggestionsEvent&& from) noexcept : KnowledgeBaseSuggestionsEvent(nullptr, ::std::move(from)) {}
  inline KnowledgeBaseSuggestionsEvent& operator=(const KnowledgeBaseSuggestionsEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline KnowledgeBaseSuggestionsEvent& operator=(KnowledgeBaseSuggestionsEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const KnowledgeBaseSuggestionsEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<KnowledgeBaseSuggestionsEvent>(&KnowledgeBaseSuggestionsEvent_globals_);
  }
  static constexpr int kIndexInFileMessages = 29;
  friend void swap(KnowledgeBaseSuggestionsEvent& a, KnowledgeBaseSuggestionsEvent& b) { a.Swap(&b); }
  inline void Swap(KnowledgeBaseSuggestionsEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(KnowledgeBaseSuggestionsEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] KnowledgeBaseSuggestionsEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<KnowledgeBaseSuggestionsEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const KnowledgeBaseSuggestionsEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const KnowledgeBaseSuggestionsEvent& from) { KnowledgeBaseSuggestionsEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(KnowledgeBaseSuggestionsEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.KnowledgeBaseSuggestionsEvent"; }

  explicit KnowledgeBaseSuggestionsEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  KnowledgeBaseSuggestionsEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const KnowledgeBaseSuggestionsEvent& from);
  KnowledgeBaseSuggestionsEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, KnowledgeBaseSuggestionsEvent&& from) noexcept
      : KnowledgeBaseSuggestionsEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kSuggestionsFieldNumber = 1,
  };
  // repeated .grpc.KnowledgeBaseSuggestion suggestions = 1;
  [[nodiscard]] int suggestions_size()
      const;
  private:
  int _internal_suggestions_size() const;

  public:
  void clear_suggestions() ;
  [[nodiscard]] const ::grpc::KnowledgeBaseSuggestion& suggestions(int index) const;
  [[nodiscard]] ::grpc::KnowledgeBaseSuggestion* PROTOBUF_NONNULL mutable_suggestions(int index);
  ::grpc::KnowledgeBaseSuggestion* PROTOBUF_NONNULL add_suggestions();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::grpc::KnowledgeBaseSuggestion>&
  suggestions() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::grpc::KnowledgeBaseSuggestion>* PROTOBUF_NONNULL
  mutable_suggestions();

  private:
  const ::google::protobuf::RepeatedPtrField<::grpc::KnowledgeBaseSuggestion>& _internal_suggestions() const;
  ::google::protobuf::RepeatedPtrField<::grpc::KnowledgeBaseSuggestion>* PROTOBUF_NONNULL _internal_mutable_suggestions();

  public:
  // @@protoc_insertion_point(class_scope:grpc.KnowledgeBaseSuggestionsEvent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const KnowledgeBaseSuggestionsEvent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::grpc::KnowledgeBaseSuggestion > suggestions_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED KeychainEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.KeychainEvent) */ {
 public:
  inline KeychainEvent() : KeychainEvent(nullptr) {}
  ~KeychainEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(KeychainEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(KeychainEvent));
  }
#endif

  template <typename = void>
  explicit constexpr KeychainEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline KeychainEvent(const KeychainEvent& from) : KeychainEvent(nullptr, from) {}
  inline KeychainEvent(KeychainEvent&& from) noexcept : KeychainEvent(nullptr, ::std::move(from)) {}
  inline KeychainEvent& operator=(const KeychainEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline KeychainEvent& operator=(KeychainEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const KeychainEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<KeychainEvent>(&KeychainEvent_globals_);
  }
  enum EventCase {
    kChangeKeychainFinished = 1,
    kHasNoKeychain = 2,
    kRebuildKeychain = 3,
    EVENT_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 57;
  friend void swap(KeychainEvent& a, KeychainEvent& b) { a.Swap(&b); }
  inline void Swap(KeychainEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(KeychainEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] KeychainEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<KeychainEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const KeychainEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const KeychainEvent& from) { KeychainEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(KeychainEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.KeychainEvent"; }

  explicit KeychainEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  KeychainEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const KeychainEvent& from);
  KeychainEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, KeychainEvent&& from) noexcept
      : KeychainEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kChangeKeychainFinishedFieldNumber = 1,
    kHasNoKeychainFieldNumber = 2,
    kRebuildKeychainFieldNumber = 3,
  };
  // .grpc.ChangeKeychainFinishedEvent changeKeychainFinished = 1;
  [[nodiscard]] bool has_changekeychainfinished()
      const;
  private:
  bool _internal_has_changekeychainfinished() const;

  public:
  void clear_changekeychainfinished() ;
  [[nodiscard]] const ::grpc::ChangeKeychainFinishedEvent& changekeychainfinished() const;
  [[nodiscard]] ::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NULLABLE release_changekeychainfinished();
  ::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NONNULL mutable_changekeychainfinished();
  void set_allocated_changekeychainfinished(::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_changekeychainfinished(::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NULLABLE value);
  ::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NULLABLE unsafe_arena_release_changekeychainfinished();

  private:
  const ::grpc::ChangeKeychainFinishedEvent& _internal_changekeychainfinished() const;
  ::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NONNULL _internal_mutable_changekeychainfinished();

  public:
  // .grpc.HasNoKeychainEvent hasNoKeychain = 2;
  [[nodiscard]] bool has_hasnokeychain()
      const;
  private:
  bool _internal_has_hasnokeychain() const;

  public:
  void clear_hasnokeychain() ;
  [[nodiscard]] const ::grpc::HasNoKeychainEvent& hasnokeychain() const;
  [[nodiscard]] ::grpc::HasNoKeychainEvent* PROTOBUF_NULLABLE release_hasnokeychain();
  ::grpc::HasNoKeychainEvent* PROTOBUF_NONNULL mutable_hasnokeychain();
  void set_allocated_hasnokeychain(::grpc::HasNoKeychainEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_hasnokeychain(::grpc::HasNoKeychainEvent* PROTOBUF_NULLABLE value);
  ::grpc::HasNoKeychainEvent* PROTOBUF_NULLABLE unsafe_arena_release_hasnokeychain();

  private:
  const ::grpc::HasNoKeychainEvent& _internal_hasnokeychain() const;
  ::grpc::HasNoKeychainEvent* PROTOBUF_NONNULL _internal_mutable_hasnokeychain();

  public:
  // .grpc.RebuildKeychainEvent rebuildKeychain = 3;
  [[nodiscard]] bool has_rebuildkeychain()
      const;
  private:
  bool _internal_has_rebuildkeychain() const;

  public:
  void clear_rebuildkeychain() ;
  [[nodiscard]] const ::grpc::RebuildKeychainEvent& rebuildkeychain() const;
  [[nodiscard]] ::grpc::RebuildKeychainEvent* PROTOBUF_NULLABLE release_rebuildkeychain();
  ::grpc::RebuildKeychainEvent* PROTOBUF_NONNULL mutable_rebuildkeychain();
  void set_allocated_rebuildkeychain(::grpc::RebuildKeychainEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_rebuildkeychain(::grpc::RebuildKeychainEvent* PROTOBUF_NULLABLE value);
  ::grpc::RebuildKeychainEvent* PROTOBUF_NULLABLE unsafe_arena_release_rebuildkeychain();

  private:
  const ::grpc::RebuildKeychainEvent& _internal_rebuildkeychain() const;
  ::grpc::RebuildKeychainEvent* PROTOBUF_NONNULL _internal_mutable_rebuildkeychain();

  public:
  void clear_event();
  EventCase event_case() const;
  // @@protoc_insertion_point(class_scope:grpc.KeychainEvent)
 private:
  class _Internal;
  void set_has_changekeychainfinished();
  void set_has_hasnokeychain();
  void set_has_rebuildkeychain();
  [[nodiscard]] inline bool has_event() const;
  inline void clear_has_event();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 3,
                          3, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const KeychainEvent& from_msg);
    union EventUnion {
      constexpr EventUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE changekeychainfinished_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE hasnokeychain_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE rebuildkeychain_;
    } event_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED DiskCacheEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.DiskCacheEvent) */ {
 public:
  inline DiskCacheEvent() : DiskCacheEvent(nullptr) {}
  ~DiskCacheEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(DiskCacheEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(DiskCacheEvent));
  }
#endif

  template <typename = void>
  explicit constexpr DiskCacheEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline DiskCacheEvent(const DiskCacheEvent& from) : DiskCacheEvent(nullptr, from) {}
  inline DiskCacheEvent(DiskCacheEvent&& from) noexcept : DiskCacheEvent(nullptr, ::std::move(from)) {}
  inline DiskCacheEvent& operator=(const DiskCacheEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline DiskCacheEvent& operator=(DiskCacheEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const DiskCacheEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<DiskCacheEvent>(&DiskCacheEvent_globals_);
  }
  enum EventCase {
    kError = 1,
    kPathChanged = 2,
    kPathChangeFinished = 3,
    EVENT_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 49;
  friend void swap(DiskCacheEvent& a, DiskCacheEvent& b) { a.Swap(&b); }
  inline void Swap(DiskCacheEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DiskCacheEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] DiskCacheEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<DiskCacheEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const DiskCacheEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const DiskCacheEvent& from) { DiskCacheEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(DiskCacheEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.DiskCacheEvent"; }

  explicit DiskCacheEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  DiskCacheEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DiskCacheEvent& from);
  DiskCacheEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DiskCacheEvent&& from) noexcept
      : DiskCacheEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kErrorFieldNumber = 1,
    kPathChangedFieldNumber = 2,
    kPathChangeFinishedFieldNumber = 3,
  };
  // .grpc.DiskCacheErrorEvent error = 1;
  [[nodiscard]] bool has_error()
      const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  [[nodiscard]] const ::grpc::DiskCacheErrorEvent& error() const;
  [[nodiscard]] ::grpc::DiskCacheErrorEvent* PROTOBUF_NULLABLE release_error();
  ::grpc::DiskCacheErrorEvent* PROTOBUF_NONNULL mutable_error();
  void set_allocated_error(::grpc::DiskCacheErrorEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_error(::grpc::DiskCacheErrorEvent* PROTOBUF_NULLABLE value);
  ::grpc::DiskCacheErrorEvent* PROTOBUF_NULLABLE unsafe_arena_release_error();

  private:
  const ::grpc::DiskCacheErrorEvent& _internal_error() const;
  ::grpc::DiskCacheErrorEvent* PROTOBUF_NONNULL _internal_mutable_error();

  public:
  // .grpc.DiskCachePathChangedEvent pathChanged = 2;
  [[nodiscard]] bool has_pathchanged()
      const;
  private:
  bool _internal_has_pathchanged() const;

  public:
  void clear_pathchanged() ;
  [[nodiscard]] const ::grpc::DiskCachePathChangedEvent& pathchanged() const;
  [[nodiscard]] ::grpc::DiskCachePathChangedEvent* PROTOBUF_NULLABLE release_pathchanged();
  ::grpc::DiskCachePathChangedEvent* PROTOBUF_NONNULL mutable_pathchanged();
  void set_allocated_pathchanged(::grpc::DiskCachePathChangedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_pathchanged(::grpc::DiskCachePathChangedEvent* PROTOBUF_NULLABLE value);
  ::grpc::DiskCachePathChangedEvent* PROTOBUF_NULLABLE unsafe_arena_release_pathchanged();

  private:
  const ::grpc::DiskCachePathChangedEvent& _internal_pathchanged() const;
  ::grpc::DiskCachePathChangedEvent* PROTOBUF_NONNULL _internal_mutable_pathchanged();

  public:
  // .grpc.DiskCachePathChangeFinishedEvent pathChangeFinished = 3;
  [[nodiscard]] bool has_pathchangefinished()
      const;
  private:
  bool _internal_has_pathchangefinished() const;

  public:
  void clear_pathchangefinished() ;
  [[nodiscard]] const ::grpc::DiskCachePathChangeFinishedEvent& pathchangefinished() const;
  [[nodiscard]] ::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NULLABLE release_pathchangefinished();
  ::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NONNULL mutable_pathchangefinished();
  void set_allocated_pathchangefinished(::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_pathchangefinished(::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NULLABLE value);
  ::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NULLABLE unsafe_arena_release_pathchangefinished();

  private:
  const ::grpc::DiskCachePathChangeFinishedEvent& _internal_pathchangefinished() const;
  ::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NONNULL _internal_mutable_pathchangefinished();

  public:
  void clear_event();
  EventCase event_case() const;
  // @@protoc_insertion_point(class_scope:grpc.DiskCacheEvent)
 private:
  class _Internal;
  void set_has_error();
  void set_has_pathchanged();
  void set_has_pathchangefinished();
  [[nodiscard]] inline bool has_event() const;
  inline void clear_has_event();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 3,
                          3, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const DiskCacheEvent& from_msg);
    union EventUnion {
      constexpr EventUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE error_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE pathchanged_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE pathchangefinished_;
    } event_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED MailServerSettingsEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.MailServerSettingsEvent) */ {
 public:
  inline MailServerSettingsEvent() : MailServerSettingsEvent(nullptr) {}
  ~MailServerSettingsEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(MailServerSettingsEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(MailServerSettingsEvent));
  }
#endif

  template <typename = void>
  explicit constexpr MailServerSettingsEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline MailServerSettingsEvent(const MailServerSettingsEvent& from) : MailServerSettingsEvent(nullptr, from) {}
  inline MailServerSettingsEvent(MailServerSettingsEvent&& from) noexcept : MailServerSettingsEvent(nullptr, ::std::move(from)) {}
  inline MailServerSettingsEvent& operator=(const MailServerSettingsEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline MailServerSettingsEvent& operator=(MailServerSettingsEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const MailServerSettingsEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<MailServerSettingsEvent>(&MailServerSettingsEvent_globals_);
  }
  enum EventCase {
    kError = 1,
    kMailServerSettingsChanged = 2,
    kChangeMailServerSettingsFinished = 3,
    EVENT_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 53;
  friend void swap(MailServerSettingsEvent& a, MailServerSettingsEvent& b) { a.Swap(&b); }
  inline void Swap(MailServerSettingsEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MailServerSettingsEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] MailServerSettingsEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<MailServerSettingsEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const MailServerSettingsEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const MailServerSettingsEvent& from) { MailServerSettingsEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(MailServerSettingsEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.MailServerSettingsEvent"; }

  explicit MailServerSettingsEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  MailServerSettingsEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MailServerSettingsEvent& from);
  MailServerSettingsEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MailServerSettingsEvent&& from) noexcept
      : MailServerSettingsEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kErrorFieldNumber = 1,
    kMailServerSettingsChangedFieldNumber = 2,
    kChangeMailServerSettingsFinishedFieldNumber = 3,
  };
  // .grpc.MailServerSettingsErrorEvent error = 1;
  [[nodiscard]] bool has_error()
      const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  [[nodiscard]] const ::grpc::MailServerSettingsErrorEvent& error() const;
  [[nodiscard]] ::grpc::MailServerSettingsErrorEvent* PROTOBUF_NULLABLE release_error();
  ::grpc::MailServerSettingsErrorEvent* PROTOBUF_NONNULL mutable_error();
  void set_allocated_error(::grpc::MailServerSettingsErrorEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_error(::grpc::MailServerSettingsErrorEvent* PROTOBUF_NULLABLE value);
  ::grpc::MailServerSettingsErrorEvent* PROTOBUF_NULLABLE unsafe_arena_release_error();

  private:
  const ::grpc::MailServerSettingsErrorEvent& _internal_error() const;
  ::grpc::MailServerSettingsErrorEvent* PROTOBUF_NONNULL _internal_mutable_error();

  public:
  // .grpc.MailServerSettingsChangedEvent mailServerSettingsChanged = 2;
  [[nodiscard]] bool has_mailserversettingschanged()
      const;
  private:
  bool _internal_has_mailserversettingschanged() const;

  public:
  void clear_mailserversettingschanged() ;
  [[nodiscard]] const ::grpc::MailServerSettingsChangedEvent& mailserversettingschanged() const;
  [[nodiscard]] ::grpc::MailServerSettingsChangedEvent* PROTOBUF_NULLABLE release_mailserversettingschanged();
  ::grpc::MailServerSettingsChangedEvent* PROTOBUF_NONNULL mutable_mailserversettingschanged();
  void set_allocated_mailserversettingschanged(::grpc::MailServerSettingsChangedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_mailserversettingschanged(::grpc::MailServerSettingsChangedEvent* PROTOBUF_NULLABLE value);
  ::grpc::MailServerSettingsChangedEvent* PROTOBUF_NULLABLE unsafe_arena_release_mailserversettingschanged();

  private:
  const ::grpc::MailServerSettingsChangedEvent& _internal_mailserversettingschanged() const;
  ::grpc::MailServerSettingsChangedEvent* PROTOBUF_NONNULL _internal_mutable_mailserversettingschanged();

  public:
  // .grpc.ChangeMailServerSettingsFinishedEvent changeMailServerSettingsFinished = 3;
  [[nodiscard]] bool has_changemailserversettingsfinished()
      const;
  private:
  bool _internal_has_changemailserversettingsfinished() const;

  public:
  void clear_changemailserversettingsfinished() ;
  [[nodiscard]] const ::grpc::ChangeMailServerSettingsFinishedEvent& changemailserversettingsfinished() const;
  [[nodiscard]] ::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NULLABLE release_changemailserversettingsfinished();
  ::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NONNULL mutable_changemailserversettingsfinished();
  void set_allocated_changemailserversettingsfinished(::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_changemailserversettingsfinished(::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NULLABLE value);
  ::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NULLABLE unsafe_arena_release_changemailserversettingsfinished();

  private:
  const ::grpc::ChangeMailServerSettingsFinishedEvent& _internal_changemailserversettingsfinished() const;
  ::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NONNULL _internal_mutable_changemailserversettingsfinished();

  public:
  void clear_event();
  EventCase event_case() const;
  // @@protoc_insertion_point(class_scope:grpc.MailServerSettingsEvent)
 private:
  class _Internal;
  void set_has_error();
  void set_has_mailserversettingschanged();
  void set_has_changemailserversettingsfinished();
  [[nodiscard]] inline bool has_event() const;
  inline void clear_has_event();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 3,
                          3, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MailServerSettingsEvent& from_msg);
    union EventUnion {
      constexpr EventUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE error_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE mailserversettingschanged_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE changemailserversettingsfinished_;
    } event_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AppEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.AppEvent) */ {
 public:
  inline AppEvent() : AppEvent(nullptr) {}
  ~AppEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AppEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AppEvent));
  }
#endif

  template <typename = void>
  explicit constexpr AppEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AppEvent(const AppEvent& from) : AppEvent(nullptr, from) {}
  inline AppEvent(AppEvent&& from) noexcept : AppEvent(nullptr, ::std::move(from)) {}
  inline AppEvent& operator=(const AppEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline AppEvent& operator=(AppEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const AppEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AppEvent>(&AppEvent_globals_);
  }
  enum EventCase {
    kInternetStatus = 1,
    kToggleAutostartFinished = 2,
    kResetFinished = 3,
    kReportBugFinished = 4,
    kReportBugSuccess = 5,
    kReportBugError = 6,
    kShowMainWindow = 7,
    kReportBugFallback = 8,
    kCertificateInstallSuccess = 9,
    kCertificateInstallCanceled = 10,
    kCertificateInstallFailed = 11,
    kKnowledgeBaseSuggestions = 12,
    kRepairStarted = 13,
    kAllUsersLoaded = 14,
    kUserNotification = 15,
    EVENT_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 14;
  friend void swap(AppEvent& a, AppEvent& b) { a.Swap(&b); }
  inline void Swap(AppEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AppEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AppEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<AppEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const AppEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const AppEvent& from) { AppEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(AppEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.AppEvent"; }

  explicit AppEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AppEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AppEvent& from);
  AppEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AppEvent&& from) noexcept
      : AppEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kInternetStatusFieldNumber = 1,
    kToggleAutostartFinishedFieldNumber = 2,
    kResetFinishedFieldNumber = 3,
    kReportBugFinishedFieldNumber = 4,
    kReportBugSuccessFieldNumber = 5,
    kReportBugErrorFieldNumber = 6,
    kShowMainWindowFieldNumber = 7,
    kReportBugFallbackFieldNumber = 8,
    kCertificateInstallSuccessFieldNumber = 9,
    kCertificateInstallCanceledFieldNumber = 10,
    kCertificateInstallFailedFieldNumber = 11,
    kKnowledgeBaseSuggestionsFieldNumber = 12,
    kRepairStartedFieldNumber = 13,
    kAllUsersLoadedFieldNumber = 14,
    kUserNotificationFieldNumber = 15,
  };
  // .grpc.InternetStatusEvent internetStatus = 1;
  [[nodiscard]] bool has_internetstatus()
      const;
  private:
  bool _internal_has_internetstatus() const;

  public:
  void clear_internetstatus() ;
  [[nodiscard]] const ::grpc::InternetStatusEvent& internetstatus() const;
  [[nodiscard]] ::grpc::InternetStatusEvent* PROTOBUF_NULLABLE release_internetstatus();
  ::grpc::InternetStatusEvent* PROTOBUF_NONNULL mutable_internetstatus();
  void set_allocated_internetstatus(::grpc::InternetStatusEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_internetstatus(::grpc::InternetStatusEvent* PROTOBUF_NULLABLE value);
  ::grpc::InternetStatusEvent* PROTOBUF_NULLABLE unsafe_arena_release_internetstatus();

  private:
  const ::grpc::InternetStatusEvent& _internal_internetstatus() const;
  ::grpc::InternetStatusEvent* PROTOBUF_NONNULL _internal_mutable_internetstatus();

  public:
  // .grpc.ToggleAutostartFinishedEvent toggleAutostartFinished = 2;
  [[nodiscard]] bool has_toggleautostartfinished()
      const;
  private:
  bool _internal_has_toggleautostartfinished() const;

  public:
  void clear_toggleautostartfinished() ;
  [[nodiscard]] const ::grpc::ToggleAutostartFinishedEvent& toggleautostartfinished() const;
  [[nodiscard]] ::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NULLABLE release_toggleautostartfinished();
  ::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NONNULL mutable_toggleautostartfinished();
  void set_allocated_toggleautostartfinished(::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_toggleautostartfinished(::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NULLABLE value);
  ::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NULLABLE unsafe_arena_release_toggleautostartfinished();

  private:
  const ::grpc::ToggleAutostartFinishedEvent& _internal_toggleautostartfinished() const;
  ::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NONNULL _internal_mutable_toggleautostartfinished();

  public:
  // .grpc.ResetFinishedEvent resetFinished = 3;
  [[nodiscard]] bool has_resetfinished()
      const;
  private:
  bool _internal_has_resetfinished() const;

  public:
  void clear_resetfinished() ;
  [[nodiscard]] const ::grpc::ResetFinishedEvent& resetfinished() const;
  [[nodiscard]] ::grpc::ResetFinishedEvent* PROTOBUF_NULLABLE release_resetfinished();
  ::grpc::ResetFinishedEvent* PROTOBUF_NONNULL mutable_resetfinished();
  void set_allocated_resetfinished(::grpc::ResetFinishedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_resetfinished(::grpc::ResetFinishedEvent* PROTOBUF_NULLABLE value);
  ::grpc::ResetFinishedEvent* PROTOBUF_NULLABLE unsafe_arena_release_resetfinished();

  private:
  const ::grpc::ResetFinishedEvent& _internal_resetfinished() const;
  ::grpc::ResetFinishedEvent* PROTOBUF_NONNULL _internal_mutable_resetfinished();

  public:
  // .grpc.ReportBugFinishedEvent reportBugFinished = 4;
  [[nodiscard]] bool has_reportbugfinished()
      const;
  private:
  bool _internal_has_reportbugfinished() const;

  public:
  void clear_reportbugfinished() ;
  [[nodiscard]] const ::grpc::ReportBugFinishedEvent& reportbugfinished() const;
  [[nodiscard]] ::grpc::ReportBugFinishedEvent* PROTOBUF_NULLABLE release_reportbugfinished();
  ::grpc::ReportBugFinishedEvent* PROTOBUF_NONNULL mutable_reportbugfinished();
  void set_allocated_reportbugfinished(::grpc::ReportBugFinishedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_reportbugfinished(::grpc::ReportBugFinishedEvent* PROTOBUF_NULLABLE value);
  ::grpc::ReportBugFinishedEvent* PROTOBUF_NULLABLE unsafe_arena_release_reportbugfinished();

  private:
  const ::grpc::ReportBugFinishedEvent& _internal_reportbugfinished() const;
  ::grpc::ReportBugFinishedEvent* PROTOBUF_NONNULL _internal_mutable_reportbugfinished();

  public:
  // .grpc.ReportBugSuccessEvent reportBugSuccess = 5;
  [[nodiscard]] bool has_reportbugsuccess()
      const;
  private:
  bool _internal_has_reportbugsuccess() const;

  public:
  void clear_reportbugsuccess() ;
  [[nodiscard]] const ::grpc::ReportBugSuccessEvent& reportbugsuccess() const;
  [[nodiscard]] ::grpc::ReportBugSuccessEvent* PROTOBUF_NULLABLE release_reportbugsuccess();
  ::grpc::ReportBugSuccessEvent* PROTOBUF_NONNULL mutable_reportbugsuccess();
  void set_allocated_reportbugsuccess(::grpc::ReportBugSuccessEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_reportbugsuccess(::grpc::ReportBugSuccessEvent* PROTOBUF_NULLABLE value);
  ::grpc::ReportBugSuccessEvent* PROTOBUF_NULLABLE unsafe_arena_release_reportbugsuccess();

  private:
  const ::grpc::ReportBugSuccessEvent& _internal_reportbugsuccess() const;
  ::grpc::ReportBugSuccessEvent* PROTOBUF_NONNULL _internal_mutable_reportbugsuccess();

  public:
  // .grpc.ReportBugErrorEvent reportBugError = 6;
  [[nodiscard]] bool has_reportbugerror()
      const;
  private:
  bool _internal_has_reportbugerror() const;

  public:
  void clear_reportbugerror() ;
  [[nodiscard]] const ::grpc::ReportBugErrorEvent& reportbugerror() const;
  [[nodiscard]] ::grpc::ReportBugErrorEvent* PROTOBUF_NULLABLE release_reportbugerror();
  ::grpc::ReportBugErrorEvent* PROTOBUF_NONNULL mutable_reportbugerror();
  void set_allocated_reportbugerror(::grpc::ReportBugErrorEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_reportbugerror(::grpc::ReportBugErrorEvent* PROTOBUF_NULLABLE value);
  ::grpc::ReportBugErrorEvent* PROTOBUF_NULLABLE unsafe_arena_release_reportbugerror();

  private:
  const ::grpc::ReportBugErrorEvent& _internal_reportbugerror() const;
  ::grpc::ReportBugErrorEvent* PROTOBUF_NONNULL _internal_mutable_reportbugerror();

  public:
  // .grpc.ShowMainWindowEvent showMainWindow = 7;
  [[nodiscard]] bool has_showmainwindow()
      const;
  private:
  bool _internal_has_showmainwindow() const;

  public:
  void clear_showmainwindow() ;
  [[nodiscard]] const ::grpc::ShowMainWindowEvent& showmainwindow() const;
  [[nodiscard]] ::grpc::ShowMainWindowEvent* PROTOBUF_NULLABLE release_showmainwindow();
  ::grpc::ShowMainWindowEvent* PROTOBUF_NONNULL mutable_showmainwindow();
  void set_allocated_showmainwindow(::grpc::ShowMainWindowEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_showmainwindow(::grpc::ShowMainWindowEvent* PROTOBUF_NULLABLE value);
  ::grpc::ShowMainWindowEvent* PROTOBUF_NULLABLE unsafe_arena_release_showmainwindow();

  private:
  const ::grpc::ShowMainWindowEvent& _internal_showmainwindow() const;
  ::grpc::ShowMainWindowEvent* PROTOBUF_NONNULL _internal_mutable_showmainwindow();

  public:
  // .grpc.ReportBugFallbackEvent reportBugFallback = 8;
  [[nodiscard]] bool has_reportbugfallback()
      const;
  private:
  bool _internal_has_reportbugfallback() const;

  public:
  void clear_reportbugfallback() ;
  [[nodiscard]] const ::grpc::ReportBugFallbackEvent& reportbugfallback() const;
  [[nodiscard]] ::grpc::ReportBugFallbackEvent* PROTOBUF_NULLABLE release_reportbugfallback();
  ::grpc::ReportBugFallbackEvent* PROTOBUF_NONNULL mutable_reportbugfallback();
  void set_allocated_reportbugfallback(::grpc::ReportBugFallbackEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_reportbugfallback(::grpc::ReportBugFallbackEvent* PROTOBUF_NULLABLE value);
  ::grpc::ReportBugFallbackEvent* PROTOBUF_NULLABLE unsafe_arena_release_reportbugfallback();

  private:
  const ::grpc::ReportBugFallbackEvent& _internal_reportbugfallback() const;
  ::grpc::ReportBugFallbackEvent* PROTOBUF_NONNULL _internal_mutable_reportbugfallback();

  public:
  // .grpc.CertificateInstallSuccessEvent certificateInstallSuccess = 9;
  [[nodiscard]] bool has_certificateinstallsuccess()
      const;
  private:
  bool _internal_has_certificateinstallsuccess() const;

  public:
  void clear_certificateinstallsuccess() ;
  [[nodiscard]] const ::grpc::CertificateInstallSuccessEvent& certificateinstallsuccess() const;
  [[nodiscard]] ::grpc::CertificateInstallSuccessEvent* PROTOBUF_NULLABLE release_certificateinstallsuccess();
  ::grpc::CertificateInstallSuccessEvent* PROTOBUF_NONNULL mutable_certificateinstallsuccess();
  void set_allocated_certificateinstallsuccess(::grpc::CertificateInstallSuccessEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_certificateinstallsuccess(::grpc::CertificateInstallSuccessEvent* PROTOBUF_NULLABLE value);
  ::grpc::CertificateInstallSuccessEvent* PROTOBUF_NULLABLE unsafe_arena_release_certificateinstallsuccess();

  private:
  const ::grpc::CertificateInstallSuccessEvent& _internal_certificateinstallsuccess() const;
  ::grpc::CertificateInstallSuccessEvent* PROTOBUF_NONNULL _internal_mutable_certificateinstallsuccess();

  public:
  // .grpc.CertificateInstallCanceledEvent certificateInstallCanceled = 10;
  [[nodiscard]] bool has_certificateinstallcanceled()
      const;
  private:
  bool _internal_has_certificateinstallcanceled() const;

  public:
  void clear_certificateinstallcanceled() ;
  [[nodiscard]] const ::grpc::CertificateInstallCanceledEvent& certificateinstallcanceled() const;
  [[nodiscard]] ::grpc::CertificateInstallCanceledEvent* PROTOBUF_NULLABLE release_certificateinstallcanceled();
  ::grpc::CertificateInstallCanceledEvent* PROTOBUF_NONNULL mutable_certificateinstallcanceled();
  void set_allocated_certificateinstallcanceled(::grpc::CertificateInstallCanceledEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_certificateinstallcanceled(::grpc::CertificateInstallCanceledEvent* PROTOBUF_NULLABLE value);
  ::grpc::CertificateInstallCanceledEvent* PROTOBUF_NULLABLE unsafe_arena_release_certificateinstallcanceled();

  private:
  const ::grpc::CertificateInstallCanceledEvent& _internal_certificateinstallcanceled() const;
  ::grpc::CertificateInstallCanceledEvent* PROTOBUF_NONNULL _internal_mutable_certificateinstallcanceled();

  public:
  // .grpc.CertificateInstallFailedEvent certificateInstallFailed = 11;
  [[nodiscard]] bool has_certificateinstallfailed()
      const;
  private:
  bool _internal_has_certificateinstallfailed() const;

  public:
  void clear_certificateinstallfailed() ;
  [[nodiscard]] const ::grpc::CertificateInstallFailedEvent& certificateinstallfailed() const;
  [[nodiscard]] ::grpc::CertificateInstallFailedEvent* PROTOBUF_NULLABLE release_certificateinstallfailed();
  ::grpc::CertificateInstallFailedEvent* PROTOBUF_NONNULL mutable_certificateinstallfailed();
  void set_allocated_certificateinstallfailed(::grpc::CertificateInstallFailedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_certificateinstallfailed(::grpc::CertificateInstallFailedEvent* PROTOBUF_NULLABLE value);
  ::grpc::CertificateInstallFailedEvent* PROTOBUF_NULLABLE unsafe_arena_release_certificateinstallfailed();

  private:
  const ::grpc::CertificateInstallFailedEvent& _internal_certificateinstallfailed() const;
  ::grpc::CertificateInstallFailedEvent* PROTOBUF_NONNULL _internal_mutable_certificateinstallfailed();

  public:
  // .grpc.KnowledgeBaseSuggestionsEvent knowledgeBaseSuggestions = 12;
  [[nodiscard]] bool has_knowledgebasesuggestions()
      const;
  private:
  bool _internal_has_knowledgebasesuggestions() const;

  public:
  void clear_knowledgebasesuggestions() ;
  [[nodiscard]] const ::grpc::KnowledgeBaseSuggestionsEvent& knowledgebasesuggestions() const;
  [[nodiscard]] ::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NULLABLE release_knowledgebasesuggestions();
  ::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NONNULL mutable_knowledgebasesuggestions();
  void set_allocated_knowledgebasesuggestions(::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_knowledgebasesuggestions(::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NULLABLE value);
  ::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NULLABLE unsafe_arena_release_knowledgebasesuggestions();

  private:
  const ::grpc::KnowledgeBaseSuggestionsEvent& _internal_knowledgebasesuggestions() const;
  ::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NONNULL _internal_mutable_knowledgebasesuggestions();

  public:
  // .grpc.RepairStartedEvent repairStarted = 13;
  [[nodiscard]] bool has_repairstarted()
      const;
  private:
  bool _internal_has_repairstarted() const;

  public:
  void clear_repairstarted() ;
  [[nodiscard]] const ::grpc::RepairStartedEvent& repairstarted() const;
  [[nodiscard]] ::grpc::RepairStartedEvent* PROTOBUF_NULLABLE release_repairstarted();
  ::grpc::RepairStartedEvent* PROTOBUF_NONNULL mutable_repairstarted();
  void set_allocated_repairstarted(::grpc::RepairStartedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_repairstarted(::grpc::RepairStartedEvent* PROTOBUF_NULLABLE value);
  ::grpc::RepairStartedEvent* PROTOBUF_NULLABLE unsafe_arena_release_repairstarted();

  private:
  const ::grpc::RepairStartedEvent& _internal_repairstarted() const;
  ::grpc::RepairStartedEvent* PROTOBUF_NONNULL _internal_mutable_repairstarted();

  public:
  // .grpc.AllUsersLoadedEvent allUsersLoaded = 14;
  [[nodiscard]] bool has_allusersloaded()
      const;
  private:
  bool _internal_has_allusersloaded() const;

  public:
  void clear_allusersloaded() ;
  [[nodiscard]] const ::grpc::AllUsersLoadedEvent& allusersloaded() const;
  [[nodiscard]] ::grpc::AllUsersLoadedEvent* PROTOBUF_NULLABLE release_allusersloaded();
  ::grpc::AllUsersLoadedEvent* PROTOBUF_NONNULL mutable_allusersloaded();
  void set_allocated_allusersloaded(::grpc::AllUsersLoadedEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_allusersloaded(::grpc::AllUsersLoadedEvent* PROTOBUF_NULLABLE value);
  ::grpc::AllUsersLoadedEvent* PROTOBUF_NULLABLE unsafe_arena_release_allusersloaded();

  private:
  const ::grpc::AllUsersLoadedEvent& _internal_allusersloaded() const;
  ::grpc::AllUsersLoadedEvent* PROTOBUF_NONNULL _internal_mutable_allusersloaded();

  public:
  // .grpc.UserNotificationEvent userNotification = 15;
  [[nodiscard]] bool has_usernotification()
      const;
  private:
  bool _internal_has_usernotification() const;

  public:
  void clear_usernotification() ;
  [[nodiscard]] const ::grpc::UserNotificationEvent& usernotification() const;
  [[nodiscard]] ::grpc::UserNotificationEvent* PROTOBUF_NULLABLE release_usernotification();
  ::grpc::UserNotificationEvent* PROTOBUF_NONNULL mutable_usernotification();
  void set_allocated_usernotification(::grpc::UserNotificationEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_usernotification(::grpc::UserNotificationEvent* PROTOBUF_NULLABLE value);
  ::grpc::UserNotificationEvent* PROTOBUF_NULLABLE unsafe_arena_release_usernotification();

  private:
  const ::grpc::UserNotificationEvent& _internal_usernotification() const;
  ::grpc::UserNotificationEvent* PROTOBUF_NONNULL _internal_mutable_usernotification();

  public:
  void clear_event();
  EventCase event_case() const;
  // @@protoc_insertion_point(class_scope:grpc.AppEvent)
 private:
  class _Internal;
  void set_has_internetstatus();
  void set_has_toggleautostartfinished();
  void set_has_resetfinished();
  void set_has_reportbugfinished();
  void set_has_reportbugsuccess();
  void set_has_reportbugerror();
  void set_has_showmainwindow();
  void set_has_reportbugfallback();
  void set_has_certificateinstallsuccess();
  void set_has_certificateinstallcanceled();
  void set_has_certificateinstallfailed();
  void set_has_knowledgebasesuggestions();
  void set_has_repairstarted();
  void set_has_allusersloaded();
  void set_has_usernotification();
  [[nodiscard]] inline bool has_event() const;
  inline void clear_has_event();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 15,
                          15, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const AppEvent& from_msg);
    union EventUnion {
      constexpr EventUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE internetstatus_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE toggleautostartfinished_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE resetfinished_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE reportbugfinished_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE reportbugsuccess_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE reportbugerror_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE showmainwindow_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE reportbugfallback_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE certificateinstallsuccess_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE certificateinstallcanceled_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE certificateinstallfailed_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE knowledgebasesuggestions_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE repairstarted_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE allusersloaded_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE usernotification_;
    } event_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED StreamEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.StreamEvent) */ {
 public:
  inline StreamEvent() : StreamEvent(nullptr) {}
  ~StreamEvent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(StreamEvent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(StreamEvent));
  }
#endif

  template <typename = void>
  explicit constexpr StreamEvent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline StreamEvent(const StreamEvent& from) : StreamEvent(nullptr, from) {}
  inline StreamEvent(StreamEvent&& from) noexcept : StreamEvent(nullptr, ::std::move(from)) {}
  inline StreamEvent& operator=(const StreamEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline StreamEvent& operator=(StreamEvent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const StreamEvent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<StreamEvent>(&StreamEvent_globals_);
  }
  enum EventCase {
    kApp = 1,
    kLogin = 2,
    kUpdate = 3,
    kCache = 4,
    kMailServerSettings = 5,
    kKeychain = 6,
    kMail = 7,
    kUser = 8,
    kGenericError = 9,
    EVENT_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 13;
  friend void swap(StreamEvent& a, StreamEvent& b) { a.Swap(&b); }
  inline void Swap(StreamEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(StreamEvent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] StreamEvent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<StreamEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const StreamEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const StreamEvent& from) { StreamEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(StreamEvent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.StreamEvent"; }

  explicit StreamEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  StreamEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const StreamEvent& from);
  StreamEvent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, StreamEvent&& from) noexcept
      : StreamEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kAppFieldNumber = 1,
    kLoginFieldNumber = 2,
    kUpdateFieldNumber = 3,
    kCacheFieldNumber = 4,
    kMailServerSettingsFieldNumber = 5,
    kKeychainFieldNumber = 6,
    kMailFieldNumber = 7,
    kUserFieldNumber = 8,
    kGenericErrorFieldNumber = 9,
  };
  // .grpc.AppEvent app = 1;
  [[nodiscard]] bool has_app()
      const;
  private:
  bool _internal_has_app() const;

  public:
  void clear_app() ;
  [[nodiscard]] const ::grpc::AppEvent& app() const;
  [[nodiscard]] ::grpc::AppEvent* PROTOBUF_NULLABLE release_app();
  ::grpc::AppEvent* PROTOBUF_NONNULL mutable_app();
  void set_allocated_app(::grpc::AppEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_app(::grpc::AppEvent* PROTOBUF_NULLABLE value);
  ::grpc::AppEvent* PROTOBUF_NULLABLE unsafe_arena_release_app();

  private:
  const ::grpc::AppEvent& _internal_app() const;
  ::grpc::AppEvent* PROTOBUF_NONNULL _internal_mutable_app();

  public:
  // .grpc.LoginEvent login = 2;
  [[nodiscard]] bool has_login()
      const;
  private:
  bool _internal_has_login() const;

  public:
  void clear_login() ;
  [[nodiscard]] const ::grpc::LoginEvent& login() const;
  [[nodiscard]] ::grpc::LoginEvent* PROTOBUF_NULLABLE release_login();
  ::grpc::LoginEvent* PROTOBUF_NONNULL mutable_login();
  void set_allocated_login(::grpc::LoginEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_login(::grpc::LoginEvent* PROTOBUF_NULLABLE value);
  ::grpc::LoginEvent* PROTOBUF_NULLABLE unsafe_arena_release_login();

  private:
  const ::grpc::LoginEvent& _internal_login() const;
  ::grpc::LoginEvent* PROTOBUF_NONNULL _internal_mutable_login();

  public:
  // .grpc.UpdateEvent update = 3;
  [[nodiscard]] bool has_update()
      const;
  private:
  bool _internal_has_update() const;

  public:
  void clear_update() ;
  [[nodiscard]] const ::grpc::UpdateEvent& update() const;
  [[nodiscard]] ::grpc::UpdateEvent* PROTOBUF_NULLABLE release_update();
  ::grpc::UpdateEvent* PROTOBUF_NONNULL mutable_update();
  void set_allocated_update(::grpc::UpdateEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_update(::grpc::UpdateEvent* PROTOBUF_NULLABLE value);
  ::grpc::UpdateEvent* PROTOBUF_NULLABLE unsafe_arena_release_update();

  private:
  const ::grpc::UpdateEvent& _internal_update() const;
  ::grpc::UpdateEvent* PROTOBUF_NONNULL _internal_mutable_update();

  public:
  // .grpc.DiskCacheEvent cache = 4;
  [[nodiscard]] bool has_cache()
      const;
  private:
  bool _internal_has_cache() const;

  public:
  void clear_cache() ;
  [[nodiscard]] const ::grpc::DiskCacheEvent& cache() const;
  [[nodiscard]] ::grpc::DiskCacheEvent* PROTOBUF_NULLABLE release_cache();
  ::grpc::DiskCacheEvent* PROTOBUF_NONNULL mutable_cache();
  void set_allocated_cache(::grpc::DiskCacheEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_cache(::grpc::DiskCacheEvent* PROTOBUF_NULLABLE value);
  ::grpc::DiskCacheEvent* PROTOBUF_NULLABLE unsafe_arena_release_cache();

  private:
  const ::grpc::DiskCacheEvent& _internal_cache() const;
  ::grpc::DiskCacheEvent* PROTOBUF_NONNULL _internal_mutable_cache();

  public:
  // .grpc.MailServerSettingsEvent mailServerSettings = 5;
  [[nodiscard]] bool has_mailserversettings()
      const;
  private:
  bool _internal_has_mailserversettings() const;

  public:
  void clear_mailserversettings() ;
  [[nodiscard]] const ::grpc::MailServerSettingsEvent& mailserversettings() const;
  [[nodiscard]] ::grpc::MailServerSettingsEvent* PROTOBUF_NULLABLE release_mailserversettings();
  ::grpc::MailServerSettingsEvent* PROTOBUF_NONNULL mutable_mailserversettings();
  void set_allocated_mailserversettings(::grpc::MailServerSettingsEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_mailserversettings(::grpc::MailServerSettingsEvent* PROTOBUF_NULLABLE value);
  ::grpc::MailServerSettingsEvent* PROTOBUF_NULLABLE unsafe_arena_release_mailserversettings();

  private:
  const ::grpc::MailServerSettingsEvent& _internal_mailserversettings() const;
  ::grpc::MailServerSettingsEvent* PROTOBUF_NONNULL _internal_mutable_mailserversettings();

  public:
  // .grpc.KeychainEvent keychain = 6;
  [[nodiscard]] bool has_keychain()
      const;
  private:
  bool _internal_has_keychain() const;

  public:
  void clear_keychain() ;
  [[nodiscard]] const ::grpc::KeychainEvent& keychain() const;
  [[nodiscard]] ::grpc::KeychainEvent* PROTOBUF_NULLABLE release_keychain();
  ::grpc::KeychainEvent* PROTOBUF_NONNULL mutable_keychain();
  void set_allocated_keychain(::grpc::KeychainEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_keychain(::grpc::KeychainEvent* PROTOBUF_NULLABLE value);
  ::grpc::KeychainEvent* PROTOBUF_NULLABLE unsafe_arena_release_keychain();

  private:
  const ::grpc::KeychainEvent& _internal_keychain() const;
  ::grpc::KeychainEvent* PROTOBUF_NONNULL _internal_mutable_keychain();

  public:
  // .grpc.MailEvent mail = 7;
  [[nodiscard]] bool has_mail()
      const;
  private:
  bool _internal_has_mail() const;

  public:
  void clear_mail() ;
  [[nodiscard]] const ::grpc::MailEvent& mail() const;
  [[nodiscard]] ::grpc::MailEvent* PROTOBUF_NULLABLE release_mail();
  ::grpc::MailEvent* PROTOBUF_NONNULL mutable_mail();
  void set_allocated_mail(::grpc::MailEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_mail(::grpc::MailEvent* PROTOBUF_NULLABLE value);
  ::grpc::MailEvent* PROTOBUF_NULLABLE unsafe_arena_release_mail();

  private:
  const ::grpc::MailEvent& _internal_mail() const;
  ::grpc::MailEvent* PROTOBUF_NONNULL _internal_mutable_mail();

  public:
  // .grpc.UserEvent user = 8;
  [[nodiscard]] bool has_user()
      const;
  private:
  bool _internal_has_user() const;

  public:
  void clear_user() ;
  [[nodiscard]] const ::grpc::UserEvent& user() const;
  [[nodiscard]] ::grpc::UserEvent* PROTOBUF_NULLABLE release_user();
  ::grpc::UserEvent* PROTOBUF_NONNULL mutable_user();
  void set_allocated_user(::grpc::UserEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_user(::grpc::UserEvent* PROTOBUF_NULLABLE value);
  ::grpc::UserEvent* PROTOBUF_NULLABLE unsafe_arena_release_user();

  private:
  const ::grpc::UserEvent& _internal_user() const;
  ::grpc::UserEvent* PROTOBUF_NONNULL _internal_mutable_user();

  public:
  // .grpc.GenericErrorEvent genericError = 9;
  [[nodiscard]] bool has_genericerror()
      const;
  private:
  bool _internal_has_genericerror() const;

  public:
  void clear_genericerror() ;
  [[nodiscard]] const ::grpc::GenericErrorEvent& genericerror() const;
  [[nodiscard]] ::grpc::GenericErrorEvent* PROTOBUF_NULLABLE release_genericerror();
  ::grpc::GenericErrorEvent* PROTOBUF_NONNULL mutable_genericerror();
  void set_allocated_genericerror(::grpc::GenericErrorEvent* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_genericerror(::grpc::GenericErrorEvent* PROTOBUF_NULLABLE value);
  ::grpc::GenericErrorEvent* PROTOBUF_NULLABLE unsafe_arena_release_genericerror();

  private:
  const ::grpc::GenericErrorEvent& _internal_genericerror() const;
  ::grpc::GenericErrorEvent* PROTOBUF_NONNULL _internal_mutable_genericerror();

  public:
  void clear_event();
  EventCase event_case() const;
  // @@protoc_insertion_point(class_scope:grpc.StreamEvent)
 private:
  class _Internal;
  void set_has_app();
  void set_has_login();
  void set_has_update();
  void set_has_cache();
  void set_has_mailserversettings();
  void set_has_keychain();
  void set_has_mail();
  void set_has_user();
  void set_has_genericerror();
  [[nodiscard]] inline bool has_event() const;
  inline void clear_has_event();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 9,
                          9, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const StreamEvent& from_msg);
    union EventUnion {
      constexpr EventUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE app_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE login_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE update_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE cache_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE mailserversettings_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE keychain_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE mail_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE user_;
      ::google::protobuf::Message* PROTOBUF_NULLABLE genericerror_;
    } event_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_bridge_2eproto;
};

// ===================================================================




// ===================================================================


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// AddLogEntryRequest

// .grpc.LogLevel level = 1;
inline void AddLogEntryRequest::clear_level() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.level_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::grpc::LogLevel AddLogEntryRequest::level() const {
  // @@protoc_insertion_point(field_get:grpc.AddLogEntryRequest.level)
  return _internal_level();
}
inline void AddLogEntryRequest::set_level(::grpc::LogLevel value) {
  _internal_set_level(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:grpc.AddLogEntryRequest.level)
}
inline ::grpc::LogLevel AddLogEntryRequest::_internal_level() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::grpc::LogLevel>(_impl_.level_);
}
inline void AddLogEntryRequest::_internal_set_level(::grpc::LogLevel value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.level_ = value;
}

// string package = 2;
inline void AddLogEntryRequest::clear_package() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.package_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& AddLogEntryRequest::package() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AddLogEntryRequest.package)
  return _internal_package();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void AddLogEntryRequest::set_package(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.package_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.AddLogEntryRequest.package)
}
inline ::std::string* PROTOBUF_NONNULL AddLogEntryRequest::mutable_package()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_package();
  // @@protoc_insertion_point(field_mutable:grpc.AddLogEntryRequest.package)
  return _s;
}
inline const ::std::string& AddLogEntryRequest::_internal_package() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.package_.Get();
}
inline void AddLogEntryRequest::_internal_set_package(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.package_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL AddLogEntryRequest::_internal_mutable_package() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.package_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE AddLogEntryRequest::release_package() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.AddLogEntryRequest.package)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.package_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.package_.Set("", GetArena());
  }
  return released;
}
inline void AddLogEntryRequest::set_allocated_package(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.package_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.package_.IsDefault()) {
    _impl_.package_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.AddLogEntryRequest.package)
}

// string message = 3;
inline void AddLogEntryRequest::clear_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.message_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& AddLogEntryRequest::message() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AddLogEntryRequest.message)
  return _internal_message();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void AddLogEntryRequest::set_message(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.message_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.AddLogEntryRequest.message)
}
inline ::std::string* PROTOBUF_NONNULL AddLogEntryRequest::mutable_message()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:grpc.AddLogEntryRequest.message)
  return _s;
}
inline const ::std::string& AddLogEntryRequest::_internal_message() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.message_.Get();
}
inline void AddLogEntryRequest::_internal_set_message(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.message_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL AddLogEntryRequest::_internal_mutable_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.message_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE AddLogEntryRequest::release_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.AddLogEntryRequest.message)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.message_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.message_.Set("", GetArena());
  }
  return released;
}
inline void AddLogEntryRequest::set_allocated_message(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.message_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.message_.IsDefault()) {
    _impl_.message_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.AddLogEntryRequest.message)
}

// -------------------------------------------------------------------

// GuiReadyResponse

// bool showSplashScreen = 1;
inline void GuiReadyResponse::clear_showsplashscreen() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.showsplashscreen_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline bool GuiReadyResponse::showsplashscreen() const {
  // @@protoc_insertion_point(field_get:grpc.GuiReadyResponse.showSplashScreen)
  return _internal_showsplashscreen();
}
inline void GuiReadyResponse::set_showsplashscreen(bool value) {
  _internal_set_showsplashscreen(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:grpc.GuiReadyResponse.showSplashScreen)
}
inline bool GuiReadyResponse::_internal_showsplashscreen() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.showsplashscreen_;
}
inline void GuiReadyResponse::_internal_set_showsplashscreen(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.showsplashscreen_ = value;
}

// -------------------------------------------------------------------

// ReportBugRequest

// string osType = 1;
inline void ReportBugRequest::clear_ostype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ostype_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ReportBugRequest::ostype() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.ReportBugRequest.osType)
  return _internal_ostype();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ReportBugRequest::set_ostype(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.ostype_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.ReportBugRequest.osType)
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::mutable_ostype()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_ostype();
  // @@protoc_insertion_point(field_mutable:grpc.ReportBugRequest.osType)
  return _s;
}
inline const ::std::string& ReportBugRequest::_internal_ostype() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ostype_.Get();
}
inline void ReportBugRequest::_internal_set_ostype(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ostype_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::_internal_mutable_ostype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.ostype_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ReportBugRequest::release_ostype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.ReportBugRequest.osType)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.ostype_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.ostype_.Set("", GetArena());
  }
  return released;
}
inline void ReportBugRequest::set_allocated_ostype(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.ostype_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.ostype_.IsDefault()) {
    _impl_.ostype_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.ReportBugRequest.osType)
}

// string osVersion = 2;
inline void ReportBugRequest::clear_osversion() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.osversion_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ReportBugRequest::osversion() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.ReportBugRequest.osVersion)
  return _internal_osversion();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ReportBugRequest::set_osversion(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.osversion_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.ReportBugRequest.osVersion)
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::mutable_osversion()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_osversion();
  // @@protoc_insertion_point(field_mutable:grpc.ReportBugRequest.osVersion)
  return _s;
}
inline const ::std::string& ReportBugRequest::_internal_osversion() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.osversion_.Get();
}
inline void ReportBugRequest::_internal_set_osversion(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.osversion_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::_internal_mutable_osversion() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.osversion_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ReportBugRequest::release_osversion() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.ReportBugRequest.osVersion)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.osversion_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.osversion_.Set("", GetArena());
  }
  return released;
}
inline void ReportBugRequest::set_allocated_osversion(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.osversion_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.osversion_.IsDefault()) {
    _impl_.osversion_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.ReportBugRequest.osVersion)
}

// string title = 3;
inline void ReportBugRequest::clear_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.title_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& ReportBugRequest::title() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.ReportBugRequest.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ReportBugRequest::set_title(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.ReportBugRequest.title)
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::mutable_title()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:grpc.ReportBugRequest.title)
  return _s;
}
inline const ::std::string& ReportBugRequest::_internal_title() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.title_.Get();
}
inline void ReportBugRequest::_internal_set_title(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.title_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::_internal_mutable_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.title_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ReportBugRequest::release_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.ReportBugRequest.title)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.title_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.title_.Set("", GetArena());
  }
  return released;
}
inline void ReportBugRequest::set_allocated_title(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.title_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.title_.IsDefault()) {
    _impl_.title_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.ReportBugRequest.title)
}

// string description = 4;
inline void ReportBugRequest::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::std::string& ReportBugRequest::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.ReportBugRequest.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ReportBugRequest::set_description(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.ReportBugRequest.description)
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::mutable_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:grpc.ReportBugRequest.description)
  return _s;
}
inline const ::std::string& ReportBugRequest::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void ReportBugRequest::_internal_set_description(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.description_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ReportBugRequest::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.ReportBugRequest.description)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  auto* released = _impl_.description_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.description_.Set("", GetArena());
  }
  return released;
}
inline void ReportBugRequest::set_allocated_description(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  _impl_.description_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.ReportBugRequest.description)
}

// string address = 5;
inline void ReportBugRequest::clear_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.address_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline const ::std::string& ReportBugRequest::address() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.ReportBugRequest.address)
  return _internal_address();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ReportBugRequest::set_address(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  _impl_.address_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.ReportBugRequest.address)
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::mutable_address()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::std::string* _s = _internal_mutable_address();
  // @@protoc_insertion_point(field_mutable:grpc.ReportBugRequest.address)
  return _s;
}
inline const ::std::string& ReportBugRequest::_internal_address() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.address_.Get();
}
inline void ReportBugRequest::_internal_set_address(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.address_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::_internal_mutable_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.address_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ReportBugRequest::release_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.ReportBugRequest.address)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000010U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  auto* released = _impl_.address_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.address_.Set("", GetArena());
  }
  return released;
}
inline void ReportBugRequest::set_allocated_address(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  _impl_.address_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.address_.IsDefault()) {
    _impl_.address_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.ReportBugRequest.address)
}

// string emailClient = 6;
inline void ReportBugRequest::clear_emailclient() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.emailclient_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline const ::std::string& ReportBugRequest::emailclient() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.ReportBugRequest.emailClient)
  return _internal_emailclient();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ReportBugRequest::set_emailclient(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  _impl_.emailclient_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.ReportBugRequest.emailClient)
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::mutable_emailclient()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::std::string* _s = _internal_mutable_emailclient();
  // @@protoc_insertion_point(field_mutable:grpc.ReportBugRequest.emailClient)
  return _s;
}
inline const ::std::string& ReportBugRequest::_internal_emailclient() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.emailclient_.Get();
}
inline void ReportBugRequest::_internal_set_emailclient(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.emailclient_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ReportBugRequest::_internal_mutable_emailclient() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.emailclient_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ReportBugRequest::release_emailclient() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.ReportBugRequest.emailClient)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000020U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  auto* released = _impl_.emailclient_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.emailclient_.Set("", GetArena());
  }
  return released;
}
inline void ReportBugRequest::set_allocated_emailclient(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }
  _impl_.emailclient_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.emailclient_.IsDefault()) {
    _impl_.emailclient_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.ReportBugRequest.emailClient)
}

// bool includeLogs = 7;
inline void ReportBugRequest::clear_includelogs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.includelogs_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline bool ReportBugRequest::includelogs() const {
  // @@protoc_insertion_point(field_get:grpc.ReportBugRequest.includeLogs)
  return _internal_includelogs();
}
inline void ReportBugRequest::set_includelogs(bool value) {
  _internal_set_includelogs(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:grpc.ReportBugRequest.includeLogs)
}
inline bool ReportBugRequest::_internal_includelogs() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.includelogs_;
}
inline void ReportBugRequest::_internal_set_includelogs(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.includelogs_ = value;
}

// -------------------------------------------------------------------

// LoginRequest

// string username = 1;
inline void LoginRequest::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginRequest::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginRequest.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginRequest::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginRequest.username)
}
inline ::std::string* PROTOBUF_NONNULL LoginRequest::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.LoginRequest.username)
  return _s;
}
inline const ::std::string& LoginRequest::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void LoginRequest::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginRequest::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginRequest::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginRequest.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void LoginRequest::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginRequest.username)
}

// bytes password = 2;
inline void LoginRequest::clear_password() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.password_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& LoginRequest::password() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginRequest.password)
  return _internal_password();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginRequest::set_password(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.password_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginRequest.password)
}
inline ::std::string* PROTOBUF_NONNULL LoginRequest::mutable_password()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_password();
  // @@protoc_insertion_point(field_mutable:grpc.LoginRequest.password)
  return _s;
}
inline const ::std::string& LoginRequest::_internal_password() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.password_.Get();
}
inline void LoginRequest::_internal_set_password(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.password_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginRequest::_internal_mutable_password() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.password_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginRequest::release_password() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginRequest.password)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.password_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.password_.Set("", GetArena());
  }
  return released;
}
inline void LoginRequest::set_allocated_password(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.password_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.password_.IsDefault()) {
    _impl_.password_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginRequest.password)
}

// optional bool useHvDetails = 3;
inline bool LoginRequest::has_usehvdetails() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  return value;
}
inline void LoginRequest::clear_usehvdetails() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.usehvdetails_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline bool LoginRequest::usehvdetails() const {
  // @@protoc_insertion_point(field_get:grpc.LoginRequest.useHvDetails)
  return _internal_usehvdetails();
}
inline void LoginRequest::set_usehvdetails(bool value) {
  _internal_set_usehvdetails(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:grpc.LoginRequest.useHvDetails)
}
inline bool LoginRequest::_internal_usehvdetails() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.usehvdetails_;
}
inline void LoginRequest::_internal_set_usehvdetails(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.usehvdetails_ = value;
}

// -------------------------------------------------------------------

// LoginAbortRequest

// string username = 1;
inline void LoginAbortRequest::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginAbortRequest::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginAbortRequest.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginAbortRequest::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginAbortRequest.username)
}
inline ::std::string* PROTOBUF_NONNULL LoginAbortRequest::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.LoginAbortRequest.username)
  return _s;
}
inline const ::std::string& LoginAbortRequest::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void LoginAbortRequest::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginAbortRequest::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginAbortRequest::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginAbortRequest.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void LoginAbortRequest::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginAbortRequest.username)
}

// -------------------------------------------------------------------

// ImapSmtpSettings

// int32 imapPort = 1;
inline void ImapSmtpSettings::clear_imapport() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.imapport_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::int32_t ImapSmtpSettings::imapport() const {
  // @@protoc_insertion_point(field_get:grpc.ImapSmtpSettings.imapPort)
  return _internal_imapport();
}
inline void ImapSmtpSettings::set_imapport(::int32_t value) {
  _internal_set_imapport(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:grpc.ImapSmtpSettings.imapPort)
}
inline ::int32_t ImapSmtpSettings::_internal_imapport() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.imapport_;
}
inline void ImapSmtpSettings::_internal_set_imapport(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.imapport_ = value;
}

// int32 smtpPort = 2;
inline void ImapSmtpSettings::clear_smtpport() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.smtpport_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::int32_t ImapSmtpSettings::smtpport() const {
  // @@protoc_insertion_point(field_get:grpc.ImapSmtpSettings.smtpPort)
  return _internal_smtpport();
}
inline void ImapSmtpSettings::set_smtpport(::int32_t value) {
  _internal_set_smtpport(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:grpc.ImapSmtpSettings.smtpPort)
}
inline ::int32_t ImapSmtpSettings::_internal_smtpport() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.smtpport_;
}
inline void ImapSmtpSettings::_internal_set_smtpport(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.smtpport_ = value;
}

// bool useSSLForImap = 3;
inline void ImapSmtpSettings::clear_usesslforimap() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.usesslforimap_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline bool ImapSmtpSettings::usesslforimap() const {
  // @@protoc_insertion_point(field_get:grpc.ImapSmtpSettings.useSSLForImap)
  return _internal_usesslforimap();
}
inline void ImapSmtpSettings::set_usesslforimap(bool value) {
  _internal_set_usesslforimap(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:grpc.ImapSmtpSettings.useSSLForImap)
}
inline bool ImapSmtpSettings::_internal_usesslforimap() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.usesslforimap_;
}
inline void ImapSmtpSettings::_internal_set_usesslforimap(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.usesslforimap_ = value;
}

// bool useSSLForSmtp = 4;
inline void ImapSmtpSettings::clear_usesslforsmtp() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.usesslforsmtp_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline bool ImapSmtpSettings::usesslforsmtp() const {
  // @@protoc_insertion_point(field_get:grpc.ImapSmtpSettings.useSSLForSmtp)
  return _internal_usesslforsmtp();
}
inline void ImapSmtpSettings::set_usesslforsmtp(bool value) {
  _internal_set_usesslforsmtp(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:grpc.ImapSmtpSettings.useSSLForSmtp)
}
inline bool ImapSmtpSettings::_internal_usesslforsmtp() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.usesslforsmtp_;
}
inline void ImapSmtpSettings::_internal_set_usesslforsmtp(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.usesslforsmtp_ = value;
}

// -------------------------------------------------------------------

// AvailableKeychainsResponse

// repeated string keychains = 1;
inline int AvailableKeychainsResponse::_internal_keychains_size() const {
  return _internal_keychains().size();
}
inline int AvailableKeychainsResponse::keychains_size() const {
  return _internal_keychains_size();
}
inline void AvailableKeychainsResponse::clear_keychains() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.keychains_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::std::string* PROTOBUF_NONNULL AvailableKeychainsResponse::add_keychains()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_keychains()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add_mutable:grpc.AvailableKeychainsResponse.keychains)
  return _s;
}
inline const ::std::string& AvailableKeychainsResponse::keychains(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AvailableKeychainsResponse.keychains)
  return _internal_keychains().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL AvailableKeychainsResponse::mutable_keychains(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.AvailableKeychainsResponse.keychains)
  return _internal_mutable_keychains()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void AvailableKeychainsResponse::set_keychains(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_keychains()->Mutable(index),
      ::std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:grpc.AvailableKeychainsResponse.keychains)
}
template <typename Arg_, typename... Args_>
inline void AvailableKeychainsResponse::add_keychains(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_keychains(), ::std::forward<Arg_>(value),
      args... );
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:grpc.AvailableKeychainsResponse.keychains)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& AvailableKeychainsResponse::keychains()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.AvailableKeychainsResponse.keychains)
  return _internal_keychains();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
AvailableKeychainsResponse::mutable_keychains() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:grpc.AvailableKeychainsResponse.keychains)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_keychains();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
AvailableKeychainsResponse::_internal_keychains() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.keychains_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
AvailableKeychainsResponse::_internal_mutable_keychains() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.keychains_;
}

// -------------------------------------------------------------------

// User

// string id = 1;
inline void User::clear_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& User::id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.User.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void User::set_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.User.id)
}
inline ::std::string* PROTOBUF_NONNULL User::mutable_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:grpc.User.id)
  return _s;
}
inline const ::std::string& User::_internal_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.id_.Get();
}
inline void User::_internal_set_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL User::_internal_mutable_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE User::release_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.User.id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.id_.Set("", GetArena());
  }
  return released;
}
inline void User::set_allocated_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.id_.IsDefault()) {
    _impl_.id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.User.id)
}

// string username = 2;
inline void User::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& User::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.User.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void User::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.User.username)
}
inline ::std::string* PROTOBUF_NONNULL User::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.User.username)
  return _s;
}
inline const ::std::string& User::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void User::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL User::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE User::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.User.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void User::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.User.username)
}

// string avatarText = 3;
inline void User::clear_avatartext() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.avatartext_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::std::string& User::avatartext() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.User.avatarText)
  return _internal_avatartext();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void User::set_avatartext(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  _impl_.avatartext_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.User.avatarText)
}
inline ::std::string* PROTOBUF_NONNULL User::mutable_avatartext()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::std::string* _s = _internal_mutable_avatartext();
  // @@protoc_insertion_point(field_mutable:grpc.User.avatarText)
  return _s;
}
inline const ::std::string& User::_internal_avatartext() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.avatartext_.Get();
}
inline void User::_internal_set_avatartext(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.avatartext_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL User::_internal_mutable_avatartext() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.avatartext_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE User::release_avatartext() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.User.avatarText)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  auto* released = _impl_.avatartext_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.avatartext_.Set("", GetArena());
  }
  return released;
}
inline void User::set_allocated_avatartext(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  _impl_.avatartext_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.avatartext_.IsDefault()) {
    _impl_.avatartext_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.User.avatarText)
}

// .grpc.UserState state = 4;
inline void User::clear_state() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.state_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline ::grpc::UserState User::state() const {
  // @@protoc_insertion_point(field_get:grpc.User.state)
  return _internal_state();
}
inline void User::set_state(::grpc::UserState value) {
  _internal_set_state(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:grpc.User.state)
}
inline ::grpc::UserState User::_internal_state() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::grpc::UserState>(_impl_.state_);
}
inline void User::_internal_set_state(::grpc::UserState value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.state_ = value;
}

// bool splitMode = 5;
inline void User::clear_splitmode() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.splitmode_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline bool User::splitmode() const {
  // @@protoc_insertion_point(field_get:grpc.User.splitMode)
  return _internal_splitmode();
}
inline void User::set_splitmode(bool value) {
  _internal_set_splitmode(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:grpc.User.splitMode)
}
inline bool User::_internal_splitmode() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.splitmode_;
}
inline void User::_internal_set_splitmode(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.splitmode_ = value;
}

// int64 usedBytes = 6;
inline void User::clear_usedbytes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.usedbytes_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
}
inline ::int64_t User::usedbytes() const {
  // @@protoc_insertion_point(field_get:grpc.User.usedBytes)
  return _internal_usedbytes();
}
inline void User::set_usedbytes(::int64_t value) {
  _internal_set_usedbytes(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  // @@protoc_insertion_point(field_set:grpc.User.usedBytes)
}
inline ::int64_t User::_internal_usedbytes() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.usedbytes_;
}
inline void User::_internal_set_usedbytes(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.usedbytes_ = value;
}

// int64 totalBytes = 7;
inline void User::clear_totalbytes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.totalbytes_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
}
inline ::int64_t User::totalbytes() const {
  // @@protoc_insertion_point(field_get:grpc.User.totalBytes)
  return _internal_totalbytes();
}
inline void User::set_totalbytes(::int64_t value) {
  _internal_set_totalbytes(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  // @@protoc_insertion_point(field_set:grpc.User.totalBytes)
}
inline ::int64_t User::_internal_totalbytes() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.totalbytes_;
}
inline void User::_internal_set_totalbytes(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.totalbytes_ = value;
}

// bytes password = 8;
inline void User::clear_password() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.password_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline const ::std::string& User::password() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.User.password)
  return _internal_password();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void User::set_password(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  _impl_.password_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.User.password)
}
inline ::std::string* PROTOBUF_NONNULL User::mutable_password()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::std::string* _s = _internal_mutable_password();
  // @@protoc_insertion_point(field_mutable:grpc.User.password)
  return _s;
}
inline const ::std::string& User::_internal_password() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.password_.Get();
}
inline void User::_internal_set_password(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.password_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL User::_internal_mutable_password() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.password_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE User::release_password() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.User.password)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000010U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  auto* released = _impl_.password_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.password_.Set("", GetArena());
  }
  return released;
}
inline void User::set_allocated_password(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  _impl_.password_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.password_.IsDefault()) {
    _impl_.password_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.User.password)
}

// repeated string addresses = 9;
inline int User::_internal_addresses_size() const {
  return _internal_addresses().size();
}
inline int User::addresses_size() const {
  return _internal_addresses_size();
}
inline void User::clear_addresses() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.addresses_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::std::string* PROTOBUF_NONNULL User::add_addresses()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_addresses()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add_mutable:grpc.User.addresses)
  return _s;
}
inline const ::std::string& User::addresses(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.User.addresses)
  return _internal_addresses().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL User::mutable_addresses(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.User.addresses)
  return _internal_mutable_addresses()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void User::set_addresses(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_addresses()->Mutable(index),
      ::std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:grpc.User.addresses)
}
template <typename Arg_, typename... Args_>
inline void User::add_addresses(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_addresses(), ::std::forward<Arg_>(value),
      args... );
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:grpc.User.addresses)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& User::addresses()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.User.addresses)
  return _internal_addresses();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
User::mutable_addresses() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:grpc.User.addresses)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_addresses();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
User::_internal_addresses() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.addresses_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
User::_internal_mutable_addresses() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.addresses_;
}

// -------------------------------------------------------------------

// UserSplitModeRequest

// string userID = 1;
inline void UserSplitModeRequest::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& UserSplitModeRequest::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserSplitModeRequest.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserSplitModeRequest::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UserSplitModeRequest.userID)
}
inline ::std::string* PROTOBUF_NONNULL UserSplitModeRequest::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.UserSplitModeRequest.userID)
  return _s;
}
inline const ::std::string& UserSplitModeRequest::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void UserSplitModeRequest::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserSplitModeRequest::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserSplitModeRequest::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UserSplitModeRequest.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void UserSplitModeRequest::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UserSplitModeRequest.userID)
}

// bool active = 2;
inline void UserSplitModeRequest::clear_active() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.active_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline bool UserSplitModeRequest::active() const {
  // @@protoc_insertion_point(field_get:grpc.UserSplitModeRequest.active)
  return _internal_active();
}
inline void UserSplitModeRequest::set_active(bool value) {
  _internal_set_active(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:grpc.UserSplitModeRequest.active)
}
inline bool UserSplitModeRequest::_internal_active() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.active_;
}
inline void UserSplitModeRequest::_internal_set_active(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.active_ = value;
}

// -------------------------------------------------------------------

// UserBadEventFeedbackRequest

// string userID = 1;
inline void UserBadEventFeedbackRequest::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& UserBadEventFeedbackRequest::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserBadEventFeedbackRequest.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserBadEventFeedbackRequest::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UserBadEventFeedbackRequest.userID)
}
inline ::std::string* PROTOBUF_NONNULL UserBadEventFeedbackRequest::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.UserBadEventFeedbackRequest.userID)
  return _s;
}
inline const ::std::string& UserBadEventFeedbackRequest::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void UserBadEventFeedbackRequest::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserBadEventFeedbackRequest::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserBadEventFeedbackRequest::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UserBadEventFeedbackRequest.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void UserBadEventFeedbackRequest::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UserBadEventFeedbackRequest.userID)
}

// bool doResync = 2;
inline void UserBadEventFeedbackRequest::clear_doresync() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.doresync_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline bool UserBadEventFeedbackRequest::doresync() const {
  // @@protoc_insertion_point(field_get:grpc.UserBadEventFeedbackRequest.doResync)
  return _internal_doresync();
}
inline void UserBadEventFeedbackRequest::set_doresync(bool value) {
  _internal_set_doresync(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:grpc.UserBadEventFeedbackRequest.doResync)
}
inline bool UserBadEventFeedbackRequest::_internal_doresync() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.doresync_;
}
inline void UserBadEventFeedbackRequest::_internal_set_doresync(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.doresync_ = value;
}

// -------------------------------------------------------------------

// UserListResponse

// repeated .grpc.User users = 1;
inline int UserListResponse::_internal_users_size() const {
  return _internal_users().size();
}
inline int UserListResponse::users_size() const {
  return _internal_users_size();
}
inline void UserListResponse::clear_users() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.users_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::grpc::User& UserListResponse::users(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserListResponse.users)
  return _internal_users().Get(index);
}
inline ::grpc::User* PROTOBUF_NONNULL UserListResponse::mutable_users(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.UserListResponse.users)
  return _internal_mutable_users()->Mutable(index);
}
inline ::grpc::User* PROTOBUF_NONNULL UserListResponse::add_users()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::grpc::User* _add =
      _internal_mutable_users()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:grpc.UserListResponse.users)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::grpc::User>& UserListResponse::users() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.UserListResponse.users)
  return _internal_users();
}
inline ::google::protobuf::RepeatedPtrField<::grpc::User>* PROTOBUF_NONNULL
UserListResponse::mutable_users() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:grpc.UserListResponse.users)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_users();
}
inline const ::google::protobuf::RepeatedPtrField<::grpc::User>&
UserListResponse::_internal_users() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.users_;
}
inline ::google::protobuf::RepeatedPtrField<::grpc::User>* PROTOBUF_NONNULL
UserListResponse::_internal_mutable_users() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.users_;
}

// -------------------------------------------------------------------

// ConfigureAppleMailRequest

// string userID = 1;
inline void ConfigureAppleMailRequest::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ConfigureAppleMailRequest::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.ConfigureAppleMailRequest.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ConfigureAppleMailRequest::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.ConfigureAppleMailRequest.userID)
}
inline ::std::string* PROTOBUF_NONNULL ConfigureAppleMailRequest::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.ConfigureAppleMailRequest.userID)
  return _s;
}
inline const ::std::string& ConfigureAppleMailRequest::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void ConfigureAppleMailRequest::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ConfigureAppleMailRequest::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ConfigureAppleMailRequest::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.ConfigureAppleMailRequest.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void ConfigureAppleMailRequest::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.ConfigureAppleMailRequest.userID)
}

// string address = 2;
inline void ConfigureAppleMailRequest::clear_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.address_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ConfigureAppleMailRequest::address() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.ConfigureAppleMailRequest.address)
  return _internal_address();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ConfigureAppleMailRequest::set_address(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.address_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.ConfigureAppleMailRequest.address)
}
inline ::std::string* PROTOBUF_NONNULL ConfigureAppleMailRequest::mutable_address()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_address();
  // @@protoc_insertion_point(field_mutable:grpc.ConfigureAppleMailRequest.address)
  return _s;
}
inline const ::std::string& ConfigureAppleMailRequest::_internal_address() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.address_.Get();
}
inline void ConfigureAppleMailRequest::_internal_set_address(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.address_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ConfigureAppleMailRequest::_internal_mutable_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.address_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ConfigureAppleMailRequest::release_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.ConfigureAppleMailRequest.address)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.address_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.address_.Set("", GetArena());
  }
  return released;
}
inline void ConfigureAppleMailRequest::set_allocated_address(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.address_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.address_.IsDefault()) {
    _impl_.address_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.ConfigureAppleMailRequest.address)
}

// -------------------------------------------------------------------

// EventStreamRequest

// string ClientPlatform = 1;
inline void EventStreamRequest::clear_clientplatform() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.clientplatform_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& EventStreamRequest::clientplatform() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.EventStreamRequest.ClientPlatform)
  return _internal_clientplatform();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void EventStreamRequest::set_clientplatform(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.clientplatform_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.EventStreamRequest.ClientPlatform)
}
inline ::std::string* PROTOBUF_NONNULL EventStreamRequest::mutable_clientplatform()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_clientplatform();
  // @@protoc_insertion_point(field_mutable:grpc.EventStreamRequest.ClientPlatform)
  return _s;
}
inline const ::std::string& EventStreamRequest::_internal_clientplatform() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.clientplatform_.Get();
}
inline void EventStreamRequest::_internal_set_clientplatform(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.clientplatform_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL EventStreamRequest::_internal_mutable_clientplatform() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.clientplatform_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE EventStreamRequest::release_clientplatform() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.EventStreamRequest.ClientPlatform)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.clientplatform_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.clientplatform_.Set("", GetArena());
  }
  return released;
}
inline void EventStreamRequest::set_allocated_clientplatform(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.clientplatform_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.clientplatform_.IsDefault()) {
    _impl_.clientplatform_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.EventStreamRequest.ClientPlatform)
}

// -------------------------------------------------------------------

// StreamEvent

// .grpc.AppEvent app = 1;
inline bool StreamEvent::has_app() const {
  return event_case() == kApp;
}
inline bool StreamEvent::_internal_has_app() const {
  return event_case() == kApp;
}
inline void StreamEvent::set_has_app() {
  _impl_._oneof_case_[0] = kApp;
}
inline void StreamEvent::clear_app() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kApp) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.app_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.app_);
    }
    clear_has_event();
  }
}
inline ::grpc::AppEvent* PROTOBUF_NULLABLE StreamEvent::release_app() {
  // @@protoc_insertion_point(field_release:grpc.StreamEvent.app)
  if (event_case() == kApp) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::AppEvent*>(_impl_.event_.app_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.app_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::AppEvent& StreamEvent::_internal_app() const {
  return event_case() == kApp ? static_cast<const ::grpc::AppEvent&>(*reinterpret_cast<::grpc::AppEvent*>(_impl_.event_.app_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::AppEvent>(&::grpc::AppEvent_globals_);
}
inline const ::grpc::AppEvent& StreamEvent::app() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.StreamEvent.app)
  return _internal_app();
}
inline ::grpc::AppEvent* PROTOBUF_NULLABLE StreamEvent::unsafe_arena_release_app() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.StreamEvent.app)
  if (event_case() == kApp) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::AppEvent*>(_impl_.event_.app_);
    _impl_.event_.app_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void StreamEvent::unsafe_arena_set_allocated_app(
    ::grpc::AppEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_app();
    _impl_.event_.app_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.StreamEvent.app)
}
inline ::grpc::AppEvent* PROTOBUF_NONNULL StreamEvent::_internal_mutable_app() {
  if (event_case() != kApp) {
    clear_event();
    set_has_app();
    _impl_.event_.app_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::AppEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::AppEvent*>(_impl_.event_.app_);
}
inline ::grpc::AppEvent* PROTOBUF_NONNULL StreamEvent::mutable_app()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::AppEvent* _msg = _internal_mutable_app();
  // @@protoc_insertion_point(field_mutable:grpc.StreamEvent.app)
  return _msg;
}

// .grpc.LoginEvent login = 2;
inline bool StreamEvent::has_login() const {
  return event_case() == kLogin;
}
inline bool StreamEvent::_internal_has_login() const {
  return event_case() == kLogin;
}
inline void StreamEvent::set_has_login() {
  _impl_._oneof_case_[0] = kLogin;
}
inline void StreamEvent::clear_login() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kLogin) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.login_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.login_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginEvent* PROTOBUF_NULLABLE StreamEvent::release_login() {
  // @@protoc_insertion_point(field_release:grpc.StreamEvent.login)
  if (event_case() == kLogin) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginEvent*>(_impl_.event_.login_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.login_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginEvent& StreamEvent::_internal_login() const {
  return event_case() == kLogin ? static_cast<const ::grpc::LoginEvent&>(*reinterpret_cast<::grpc::LoginEvent*>(_impl_.event_.login_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginEvent>(&::grpc::LoginEvent_globals_);
}
inline const ::grpc::LoginEvent& StreamEvent::login() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.StreamEvent.login)
  return _internal_login();
}
inline ::grpc::LoginEvent* PROTOBUF_NULLABLE StreamEvent::unsafe_arena_release_login() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.StreamEvent.login)
  if (event_case() == kLogin) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginEvent*>(_impl_.event_.login_);
    _impl_.event_.login_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void StreamEvent::unsafe_arena_set_allocated_login(
    ::grpc::LoginEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_login();
    _impl_.event_.login_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.StreamEvent.login)
}
inline ::grpc::LoginEvent* PROTOBUF_NONNULL StreamEvent::_internal_mutable_login() {
  if (event_case() != kLogin) {
    clear_event();
    set_has_login();
    _impl_.event_.login_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginEvent*>(_impl_.event_.login_);
}
inline ::grpc::LoginEvent* PROTOBUF_NONNULL StreamEvent::mutable_login()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginEvent* _msg = _internal_mutable_login();
  // @@protoc_insertion_point(field_mutable:grpc.StreamEvent.login)
  return _msg;
}

// .grpc.UpdateEvent update = 3;
inline bool StreamEvent::has_update() const {
  return event_case() == kUpdate;
}
inline bool StreamEvent::_internal_has_update() const {
  return event_case() == kUpdate;
}
inline void StreamEvent::set_has_update() {
  _impl_._oneof_case_[0] = kUpdate;
}
inline void StreamEvent::clear_update() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kUpdate) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.update_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.update_);
    }
    clear_has_event();
  }
}
inline ::grpc::UpdateEvent* PROTOBUF_NULLABLE StreamEvent::release_update() {
  // @@protoc_insertion_point(field_release:grpc.StreamEvent.update)
  if (event_case() == kUpdate) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateEvent*>(_impl_.event_.update_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.update_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UpdateEvent& StreamEvent::_internal_update() const {
  return event_case() == kUpdate ? static_cast<const ::grpc::UpdateEvent&>(*reinterpret_cast<::grpc::UpdateEvent*>(_impl_.event_.update_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UpdateEvent>(&::grpc::UpdateEvent_globals_);
}
inline const ::grpc::UpdateEvent& StreamEvent::update() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.StreamEvent.update)
  return _internal_update();
}
inline ::grpc::UpdateEvent* PROTOBUF_NULLABLE StreamEvent::unsafe_arena_release_update() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.StreamEvent.update)
  if (event_case() == kUpdate) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateEvent*>(_impl_.event_.update_);
    _impl_.event_.update_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void StreamEvent::unsafe_arena_set_allocated_update(
    ::grpc::UpdateEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_update();
    _impl_.event_.update_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.StreamEvent.update)
}
inline ::grpc::UpdateEvent* PROTOBUF_NONNULL StreamEvent::_internal_mutable_update() {
  if (event_case() != kUpdate) {
    clear_event();
    set_has_update();
    _impl_.event_.update_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UpdateEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UpdateEvent*>(_impl_.event_.update_);
}
inline ::grpc::UpdateEvent* PROTOBUF_NONNULL StreamEvent::mutable_update()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UpdateEvent* _msg = _internal_mutable_update();
  // @@protoc_insertion_point(field_mutable:grpc.StreamEvent.update)
  return _msg;
}

// .grpc.DiskCacheEvent cache = 4;
inline bool StreamEvent::has_cache() const {
  return event_case() == kCache;
}
inline bool StreamEvent::_internal_has_cache() const {
  return event_case() == kCache;
}
inline void StreamEvent::set_has_cache() {
  _impl_._oneof_case_[0] = kCache;
}
inline void StreamEvent::clear_cache() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kCache) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.cache_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.cache_);
    }
    clear_has_event();
  }
}
inline ::grpc::DiskCacheEvent* PROTOBUF_NULLABLE StreamEvent::release_cache() {
  // @@protoc_insertion_point(field_release:grpc.StreamEvent.cache)
  if (event_case() == kCache) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::DiskCacheEvent*>(_impl_.event_.cache_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.cache_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::DiskCacheEvent& StreamEvent::_internal_cache() const {
  return event_case() == kCache ? static_cast<const ::grpc::DiskCacheEvent&>(*reinterpret_cast<::grpc::DiskCacheEvent*>(_impl_.event_.cache_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::DiskCacheEvent>(&::grpc::DiskCacheEvent_globals_);
}
inline const ::grpc::DiskCacheEvent& StreamEvent::cache() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.StreamEvent.cache)
  return _internal_cache();
}
inline ::grpc::DiskCacheEvent* PROTOBUF_NULLABLE StreamEvent::unsafe_arena_release_cache() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.StreamEvent.cache)
  if (event_case() == kCache) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::DiskCacheEvent*>(_impl_.event_.cache_);
    _impl_.event_.cache_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void StreamEvent::unsafe_arena_set_allocated_cache(
    ::grpc::DiskCacheEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_cache();
    _impl_.event_.cache_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.StreamEvent.cache)
}
inline ::grpc::DiskCacheEvent* PROTOBUF_NONNULL StreamEvent::_internal_mutable_cache() {
  if (event_case() != kCache) {
    clear_event();
    set_has_cache();
    _impl_.event_.cache_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::DiskCacheEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::DiskCacheEvent*>(_impl_.event_.cache_);
}
inline ::grpc::DiskCacheEvent* PROTOBUF_NONNULL StreamEvent::mutable_cache()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::DiskCacheEvent* _msg = _internal_mutable_cache();
  // @@protoc_insertion_point(field_mutable:grpc.StreamEvent.cache)
  return _msg;
}

// .grpc.MailServerSettingsEvent mailServerSettings = 5;
inline bool StreamEvent::has_mailserversettings() const {
  return event_case() == kMailServerSettings;
}
inline bool StreamEvent::_internal_has_mailserversettings() const {
  return event_case() == kMailServerSettings;
}
inline void StreamEvent::set_has_mailserversettings() {
  _impl_._oneof_case_[0] = kMailServerSettings;
}
inline void StreamEvent::clear_mailserversettings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kMailServerSettings) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.mailserversettings_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.mailserversettings_);
    }
    clear_has_event();
  }
}
inline ::grpc::MailServerSettingsEvent* PROTOBUF_NULLABLE StreamEvent::release_mailserversettings() {
  // @@protoc_insertion_point(field_release:grpc.StreamEvent.mailServerSettings)
  if (event_case() == kMailServerSettings) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::MailServerSettingsEvent*>(_impl_.event_.mailserversettings_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.mailserversettings_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::MailServerSettingsEvent& StreamEvent::_internal_mailserversettings() const {
  return event_case() == kMailServerSettings ? static_cast<const ::grpc::MailServerSettingsEvent&>(*reinterpret_cast<::grpc::MailServerSettingsEvent*>(_impl_.event_.mailserversettings_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::MailServerSettingsEvent>(&::grpc::MailServerSettingsEvent_globals_);
}
inline const ::grpc::MailServerSettingsEvent& StreamEvent::mailserversettings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.StreamEvent.mailServerSettings)
  return _internal_mailserversettings();
}
inline ::grpc::MailServerSettingsEvent* PROTOBUF_NULLABLE StreamEvent::unsafe_arena_release_mailserversettings() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.StreamEvent.mailServerSettings)
  if (event_case() == kMailServerSettings) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::MailServerSettingsEvent*>(_impl_.event_.mailserversettings_);
    _impl_.event_.mailserversettings_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void StreamEvent::unsafe_arena_set_allocated_mailserversettings(
    ::grpc::MailServerSettingsEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_mailserversettings();
    _impl_.event_.mailserversettings_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.StreamEvent.mailServerSettings)
}
inline ::grpc::MailServerSettingsEvent* PROTOBUF_NONNULL StreamEvent::_internal_mutable_mailserversettings() {
  if (event_case() != kMailServerSettings) {
    clear_event();
    set_has_mailserversettings();
    _impl_.event_.mailserversettings_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::MailServerSettingsEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::MailServerSettingsEvent*>(_impl_.event_.mailserversettings_);
}
inline ::grpc::MailServerSettingsEvent* PROTOBUF_NONNULL StreamEvent::mutable_mailserversettings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::MailServerSettingsEvent* _msg = _internal_mutable_mailserversettings();
  // @@protoc_insertion_point(field_mutable:grpc.StreamEvent.mailServerSettings)
  return _msg;
}

// .grpc.KeychainEvent keychain = 6;
inline bool StreamEvent::has_keychain() const {
  return event_case() == kKeychain;
}
inline bool StreamEvent::_internal_has_keychain() const {
  return event_case() == kKeychain;
}
inline void StreamEvent::set_has_keychain() {
  _impl_._oneof_case_[0] = kKeychain;
}
inline void StreamEvent::clear_keychain() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kKeychain) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.keychain_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.keychain_);
    }
    clear_has_event();
  }
}
inline ::grpc::KeychainEvent* PROTOBUF_NULLABLE StreamEvent::release_keychain() {
  // @@protoc_insertion_point(field_release:grpc.StreamEvent.keychain)
  if (event_case() == kKeychain) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::KeychainEvent*>(_impl_.event_.keychain_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.keychain_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::KeychainEvent& StreamEvent::_internal_keychain() const {
  return event_case() == kKeychain ? static_cast<const ::grpc::KeychainEvent&>(*reinterpret_cast<::grpc::KeychainEvent*>(_impl_.event_.keychain_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::KeychainEvent>(&::grpc::KeychainEvent_globals_);
}
inline const ::grpc::KeychainEvent& StreamEvent::keychain() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.StreamEvent.keychain)
  return _internal_keychain();
}
inline ::grpc::KeychainEvent* PROTOBUF_NULLABLE StreamEvent::unsafe_arena_release_keychain() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.StreamEvent.keychain)
  if (event_case() == kKeychain) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::KeychainEvent*>(_impl_.event_.keychain_);
    _impl_.event_.keychain_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void StreamEvent::unsafe_arena_set_allocated_keychain(
    ::grpc::KeychainEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_keychain();
    _impl_.event_.keychain_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.StreamEvent.keychain)
}
inline ::grpc::KeychainEvent* PROTOBUF_NONNULL StreamEvent::_internal_mutable_keychain() {
  if (event_case() != kKeychain) {
    clear_event();
    set_has_keychain();
    _impl_.event_.keychain_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::KeychainEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::KeychainEvent*>(_impl_.event_.keychain_);
}
inline ::grpc::KeychainEvent* PROTOBUF_NONNULL StreamEvent::mutable_keychain()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::KeychainEvent* _msg = _internal_mutable_keychain();
  // @@protoc_insertion_point(field_mutable:grpc.StreamEvent.keychain)
  return _msg;
}

// .grpc.MailEvent mail = 7;
inline bool StreamEvent::has_mail() const {
  return event_case() == kMail;
}
inline bool StreamEvent::_internal_has_mail() const {
  return event_case() == kMail;
}
inline void StreamEvent::set_has_mail() {
  _impl_._oneof_case_[0] = kMail;
}
inline void StreamEvent::clear_mail() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kMail) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.mail_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.mail_);
    }
    clear_has_event();
  }
}
inline ::grpc::MailEvent* PROTOBUF_NULLABLE StreamEvent::release_mail() {
  // @@protoc_insertion_point(field_release:grpc.StreamEvent.mail)
  if (event_case() == kMail) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::MailEvent*>(_impl_.event_.mail_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.mail_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::MailEvent& StreamEvent::_internal_mail() const {
  return event_case() == kMail ? static_cast<const ::grpc::MailEvent&>(*reinterpret_cast<::grpc::MailEvent*>(_impl_.event_.mail_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::MailEvent>(&::grpc::MailEvent_globals_);
}
inline const ::grpc::MailEvent& StreamEvent::mail() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.StreamEvent.mail)
  return _internal_mail();
}
inline ::grpc::MailEvent* PROTOBUF_NULLABLE StreamEvent::unsafe_arena_release_mail() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.StreamEvent.mail)
  if (event_case() == kMail) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::MailEvent*>(_impl_.event_.mail_);
    _impl_.event_.mail_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void StreamEvent::unsafe_arena_set_allocated_mail(
    ::grpc::MailEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_mail();
    _impl_.event_.mail_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.StreamEvent.mail)
}
inline ::grpc::MailEvent* PROTOBUF_NONNULL StreamEvent::_internal_mutable_mail() {
  if (event_case() != kMail) {
    clear_event();
    set_has_mail();
    _impl_.event_.mail_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::MailEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::MailEvent*>(_impl_.event_.mail_);
}
inline ::grpc::MailEvent* PROTOBUF_NONNULL StreamEvent::mutable_mail()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::MailEvent* _msg = _internal_mutable_mail();
  // @@protoc_insertion_point(field_mutable:grpc.StreamEvent.mail)
  return _msg;
}

// .grpc.UserEvent user = 8;
inline bool StreamEvent::has_user() const {
  return event_case() == kUser;
}
inline bool StreamEvent::_internal_has_user() const {
  return event_case() == kUser;
}
inline void StreamEvent::set_has_user() {
  _impl_._oneof_case_[0] = kUser;
}
inline void StreamEvent::clear_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kUser) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.user_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.user_);
    }
    clear_has_event();
  }
}
inline ::grpc::UserEvent* PROTOBUF_NULLABLE StreamEvent::release_user() {
  // @@protoc_insertion_point(field_release:grpc.StreamEvent.user)
  if (event_case() == kUser) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UserEvent*>(_impl_.event_.user_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.user_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UserEvent& StreamEvent::_internal_user() const {
  return event_case() == kUser ? static_cast<const ::grpc::UserEvent&>(*reinterpret_cast<::grpc::UserEvent*>(_impl_.event_.user_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UserEvent>(&::grpc::UserEvent_globals_);
}
inline const ::grpc::UserEvent& StreamEvent::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.StreamEvent.user)
  return _internal_user();
}
inline ::grpc::UserEvent* PROTOBUF_NULLABLE StreamEvent::unsafe_arena_release_user() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.StreamEvent.user)
  if (event_case() == kUser) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UserEvent*>(_impl_.event_.user_);
    _impl_.event_.user_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void StreamEvent::unsafe_arena_set_allocated_user(
    ::grpc::UserEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_user();
    _impl_.event_.user_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.StreamEvent.user)
}
inline ::grpc::UserEvent* PROTOBUF_NONNULL StreamEvent::_internal_mutable_user() {
  if (event_case() != kUser) {
    clear_event();
    set_has_user();
    _impl_.event_.user_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UserEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UserEvent*>(_impl_.event_.user_);
}
inline ::grpc::UserEvent* PROTOBUF_NONNULL StreamEvent::mutable_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UserEvent* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:grpc.StreamEvent.user)
  return _msg;
}

// .grpc.GenericErrorEvent genericError = 9;
inline bool StreamEvent::has_genericerror() const {
  return event_case() == kGenericError;
}
inline bool StreamEvent::_internal_has_genericerror() const {
  return event_case() == kGenericError;
}
inline void StreamEvent::set_has_genericerror() {
  _impl_._oneof_case_[0] = kGenericError;
}
inline void StreamEvent::clear_genericerror() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kGenericError) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.genericerror_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.genericerror_);
    }
    clear_has_event();
  }
}
inline ::grpc::GenericErrorEvent* PROTOBUF_NULLABLE StreamEvent::release_genericerror() {
  // @@protoc_insertion_point(field_release:grpc.StreamEvent.genericError)
  if (event_case() == kGenericError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::GenericErrorEvent*>(_impl_.event_.genericerror_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.genericerror_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::GenericErrorEvent& StreamEvent::_internal_genericerror() const {
  return event_case() == kGenericError ? static_cast<const ::grpc::GenericErrorEvent&>(*reinterpret_cast<::grpc::GenericErrorEvent*>(_impl_.event_.genericerror_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::GenericErrorEvent>(&::grpc::GenericErrorEvent_globals_);
}
inline const ::grpc::GenericErrorEvent& StreamEvent::genericerror() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.StreamEvent.genericError)
  return _internal_genericerror();
}
inline ::grpc::GenericErrorEvent* PROTOBUF_NULLABLE StreamEvent::unsafe_arena_release_genericerror() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.StreamEvent.genericError)
  if (event_case() == kGenericError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::GenericErrorEvent*>(_impl_.event_.genericerror_);
    _impl_.event_.genericerror_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void StreamEvent::unsafe_arena_set_allocated_genericerror(
    ::grpc::GenericErrorEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_genericerror();
    _impl_.event_.genericerror_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.StreamEvent.genericError)
}
inline ::grpc::GenericErrorEvent* PROTOBUF_NONNULL StreamEvent::_internal_mutable_genericerror() {
  if (event_case() != kGenericError) {
    clear_event();
    set_has_genericerror();
    _impl_.event_.genericerror_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::GenericErrorEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::GenericErrorEvent*>(_impl_.event_.genericerror_);
}
inline ::grpc::GenericErrorEvent* PROTOBUF_NONNULL StreamEvent::mutable_genericerror()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::GenericErrorEvent* _msg = _internal_mutable_genericerror();
  // @@protoc_insertion_point(field_mutable:grpc.StreamEvent.genericError)
  return _msg;
}

inline bool StreamEvent::has_event() const {
  return event_case() != EVENT_NOT_SET;
}
inline void StreamEvent::clear_has_event() {
  _impl_._oneof_case_[0] = EVENT_NOT_SET;
}
inline StreamEvent::EventCase StreamEvent::event_case() const {
  return StreamEvent::EventCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// AppEvent

// .grpc.InternetStatusEvent internetStatus = 1;
inline bool AppEvent::has_internetstatus() const {
  return event_case() == kInternetStatus;
}
inline bool AppEvent::_internal_has_internetstatus() const {
  return event_case() == kInternetStatus;
}
inline void AppEvent::set_has_internetstatus() {
  _impl_._oneof_case_[0] = kInternetStatus;
}
inline void AppEvent::clear_internetstatus() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kInternetStatus) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.internetstatus_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.internetstatus_);
    }
    clear_has_event();
  }
}
inline ::grpc::InternetStatusEvent* PROTOBUF_NULLABLE AppEvent::release_internetstatus() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.internetStatus)
  if (event_case() == kInternetStatus) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::InternetStatusEvent*>(_impl_.event_.internetstatus_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.internetstatus_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::InternetStatusEvent& AppEvent::_internal_internetstatus() const {
  return event_case() == kInternetStatus ? static_cast<const ::grpc::InternetStatusEvent&>(*reinterpret_cast<::grpc::InternetStatusEvent*>(_impl_.event_.internetstatus_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::InternetStatusEvent>(&::grpc::InternetStatusEvent_globals_);
}
inline const ::grpc::InternetStatusEvent& AppEvent::internetstatus() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.internetStatus)
  return _internal_internetstatus();
}
inline ::grpc::InternetStatusEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_internetstatus() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.internetStatus)
  if (event_case() == kInternetStatus) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::InternetStatusEvent*>(_impl_.event_.internetstatus_);
    _impl_.event_.internetstatus_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_internetstatus(
    ::grpc::InternetStatusEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_internetstatus();
    _impl_.event_.internetstatus_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.internetStatus)
}
inline ::grpc::InternetStatusEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_internetstatus() {
  if (event_case() != kInternetStatus) {
    clear_event();
    set_has_internetstatus();
    _impl_.event_.internetstatus_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::InternetStatusEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::InternetStatusEvent*>(_impl_.event_.internetstatus_);
}
inline ::grpc::InternetStatusEvent* PROTOBUF_NONNULL AppEvent::mutable_internetstatus()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::InternetStatusEvent* _msg = _internal_mutable_internetstatus();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.internetStatus)
  return _msg;
}

// .grpc.ToggleAutostartFinishedEvent toggleAutostartFinished = 2;
inline bool AppEvent::has_toggleautostartfinished() const {
  return event_case() == kToggleAutostartFinished;
}
inline bool AppEvent::_internal_has_toggleautostartfinished() const {
  return event_case() == kToggleAutostartFinished;
}
inline void AppEvent::set_has_toggleautostartfinished() {
  _impl_._oneof_case_[0] = kToggleAutostartFinished;
}
inline void AppEvent::clear_toggleautostartfinished() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kToggleAutostartFinished) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.toggleautostartfinished_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.toggleautostartfinished_);
    }
    clear_has_event();
  }
}
inline ::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NULLABLE AppEvent::release_toggleautostartfinished() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.toggleAutostartFinished)
  if (event_case() == kToggleAutostartFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ToggleAutostartFinishedEvent*>(_impl_.event_.toggleautostartfinished_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.toggleautostartfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ToggleAutostartFinishedEvent& AppEvent::_internal_toggleautostartfinished() const {
  return event_case() == kToggleAutostartFinished ? static_cast<const ::grpc::ToggleAutostartFinishedEvent&>(*reinterpret_cast<::grpc::ToggleAutostartFinishedEvent*>(_impl_.event_.toggleautostartfinished_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ToggleAutostartFinishedEvent>(&::grpc::ToggleAutostartFinishedEvent_globals_);
}
inline const ::grpc::ToggleAutostartFinishedEvent& AppEvent::toggleautostartfinished() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.toggleAutostartFinished)
  return _internal_toggleautostartfinished();
}
inline ::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_toggleautostartfinished() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.toggleAutostartFinished)
  if (event_case() == kToggleAutostartFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ToggleAutostartFinishedEvent*>(_impl_.event_.toggleautostartfinished_);
    _impl_.event_.toggleautostartfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_toggleautostartfinished(
    ::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_toggleautostartfinished();
    _impl_.event_.toggleautostartfinished_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.toggleAutostartFinished)
}
inline ::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_toggleautostartfinished() {
  if (event_case() != kToggleAutostartFinished) {
    clear_event();
    set_has_toggleautostartfinished();
    _impl_.event_.toggleautostartfinished_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ToggleAutostartFinishedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ToggleAutostartFinishedEvent*>(_impl_.event_.toggleautostartfinished_);
}
inline ::grpc::ToggleAutostartFinishedEvent* PROTOBUF_NONNULL AppEvent::mutable_toggleautostartfinished()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ToggleAutostartFinishedEvent* _msg = _internal_mutable_toggleautostartfinished();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.toggleAutostartFinished)
  return _msg;
}

// .grpc.ResetFinishedEvent resetFinished = 3;
inline bool AppEvent::has_resetfinished() const {
  return event_case() == kResetFinished;
}
inline bool AppEvent::_internal_has_resetfinished() const {
  return event_case() == kResetFinished;
}
inline void AppEvent::set_has_resetfinished() {
  _impl_._oneof_case_[0] = kResetFinished;
}
inline void AppEvent::clear_resetfinished() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kResetFinished) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.resetfinished_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.resetfinished_);
    }
    clear_has_event();
  }
}
inline ::grpc::ResetFinishedEvent* PROTOBUF_NULLABLE AppEvent::release_resetfinished() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.resetFinished)
  if (event_case() == kResetFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ResetFinishedEvent*>(_impl_.event_.resetfinished_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.resetfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ResetFinishedEvent& AppEvent::_internal_resetfinished() const {
  return event_case() == kResetFinished ? static_cast<const ::grpc::ResetFinishedEvent&>(*reinterpret_cast<::grpc::ResetFinishedEvent*>(_impl_.event_.resetfinished_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ResetFinishedEvent>(&::grpc::ResetFinishedEvent_globals_);
}
inline const ::grpc::ResetFinishedEvent& AppEvent::resetfinished() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.resetFinished)
  return _internal_resetfinished();
}
inline ::grpc::ResetFinishedEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_resetfinished() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.resetFinished)
  if (event_case() == kResetFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ResetFinishedEvent*>(_impl_.event_.resetfinished_);
    _impl_.event_.resetfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_resetfinished(
    ::grpc::ResetFinishedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_resetfinished();
    _impl_.event_.resetfinished_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.resetFinished)
}
inline ::grpc::ResetFinishedEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_resetfinished() {
  if (event_case() != kResetFinished) {
    clear_event();
    set_has_resetfinished();
    _impl_.event_.resetfinished_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ResetFinishedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ResetFinishedEvent*>(_impl_.event_.resetfinished_);
}
inline ::grpc::ResetFinishedEvent* PROTOBUF_NONNULL AppEvent::mutable_resetfinished()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ResetFinishedEvent* _msg = _internal_mutable_resetfinished();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.resetFinished)
  return _msg;
}

// .grpc.ReportBugFinishedEvent reportBugFinished = 4;
inline bool AppEvent::has_reportbugfinished() const {
  return event_case() == kReportBugFinished;
}
inline bool AppEvent::_internal_has_reportbugfinished() const {
  return event_case() == kReportBugFinished;
}
inline void AppEvent::set_has_reportbugfinished() {
  _impl_._oneof_case_[0] = kReportBugFinished;
}
inline void AppEvent::clear_reportbugfinished() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kReportBugFinished) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.reportbugfinished_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.reportbugfinished_);
    }
    clear_has_event();
  }
}
inline ::grpc::ReportBugFinishedEvent* PROTOBUF_NULLABLE AppEvent::release_reportbugfinished() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.reportBugFinished)
  if (event_case() == kReportBugFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ReportBugFinishedEvent*>(_impl_.event_.reportbugfinished_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.reportbugfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ReportBugFinishedEvent& AppEvent::_internal_reportbugfinished() const {
  return event_case() == kReportBugFinished ? static_cast<const ::grpc::ReportBugFinishedEvent&>(*reinterpret_cast<::grpc::ReportBugFinishedEvent*>(_impl_.event_.reportbugfinished_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ReportBugFinishedEvent>(&::grpc::ReportBugFinishedEvent_globals_);
}
inline const ::grpc::ReportBugFinishedEvent& AppEvent::reportbugfinished() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.reportBugFinished)
  return _internal_reportbugfinished();
}
inline ::grpc::ReportBugFinishedEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_reportbugfinished() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.reportBugFinished)
  if (event_case() == kReportBugFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ReportBugFinishedEvent*>(_impl_.event_.reportbugfinished_);
    _impl_.event_.reportbugfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_reportbugfinished(
    ::grpc::ReportBugFinishedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_reportbugfinished();
    _impl_.event_.reportbugfinished_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.reportBugFinished)
}
inline ::grpc::ReportBugFinishedEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_reportbugfinished() {
  if (event_case() != kReportBugFinished) {
    clear_event();
    set_has_reportbugfinished();
    _impl_.event_.reportbugfinished_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ReportBugFinishedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ReportBugFinishedEvent*>(_impl_.event_.reportbugfinished_);
}
inline ::grpc::ReportBugFinishedEvent* PROTOBUF_NONNULL AppEvent::mutable_reportbugfinished()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ReportBugFinishedEvent* _msg = _internal_mutable_reportbugfinished();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.reportBugFinished)
  return _msg;
}

// .grpc.ReportBugSuccessEvent reportBugSuccess = 5;
inline bool AppEvent::has_reportbugsuccess() const {
  return event_case() == kReportBugSuccess;
}
inline bool AppEvent::_internal_has_reportbugsuccess() const {
  return event_case() == kReportBugSuccess;
}
inline void AppEvent::set_has_reportbugsuccess() {
  _impl_._oneof_case_[0] = kReportBugSuccess;
}
inline void AppEvent::clear_reportbugsuccess() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kReportBugSuccess) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.reportbugsuccess_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.reportbugsuccess_);
    }
    clear_has_event();
  }
}
inline ::grpc::ReportBugSuccessEvent* PROTOBUF_NULLABLE AppEvent::release_reportbugsuccess() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.reportBugSuccess)
  if (event_case() == kReportBugSuccess) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ReportBugSuccessEvent*>(_impl_.event_.reportbugsuccess_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.reportbugsuccess_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ReportBugSuccessEvent& AppEvent::_internal_reportbugsuccess() const {
  return event_case() == kReportBugSuccess ? static_cast<const ::grpc::ReportBugSuccessEvent&>(*reinterpret_cast<::grpc::ReportBugSuccessEvent*>(_impl_.event_.reportbugsuccess_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ReportBugSuccessEvent>(&::grpc::ReportBugSuccessEvent_globals_);
}
inline const ::grpc::ReportBugSuccessEvent& AppEvent::reportbugsuccess() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.reportBugSuccess)
  return _internal_reportbugsuccess();
}
inline ::grpc::ReportBugSuccessEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_reportbugsuccess() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.reportBugSuccess)
  if (event_case() == kReportBugSuccess) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ReportBugSuccessEvent*>(_impl_.event_.reportbugsuccess_);
    _impl_.event_.reportbugsuccess_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_reportbugsuccess(
    ::grpc::ReportBugSuccessEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_reportbugsuccess();
    _impl_.event_.reportbugsuccess_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.reportBugSuccess)
}
inline ::grpc::ReportBugSuccessEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_reportbugsuccess() {
  if (event_case() != kReportBugSuccess) {
    clear_event();
    set_has_reportbugsuccess();
    _impl_.event_.reportbugsuccess_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ReportBugSuccessEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ReportBugSuccessEvent*>(_impl_.event_.reportbugsuccess_);
}
inline ::grpc::ReportBugSuccessEvent* PROTOBUF_NONNULL AppEvent::mutable_reportbugsuccess()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ReportBugSuccessEvent* _msg = _internal_mutable_reportbugsuccess();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.reportBugSuccess)
  return _msg;
}

// .grpc.ReportBugErrorEvent reportBugError = 6;
inline bool AppEvent::has_reportbugerror() const {
  return event_case() == kReportBugError;
}
inline bool AppEvent::_internal_has_reportbugerror() const {
  return event_case() == kReportBugError;
}
inline void AppEvent::set_has_reportbugerror() {
  _impl_._oneof_case_[0] = kReportBugError;
}
inline void AppEvent::clear_reportbugerror() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kReportBugError) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.reportbugerror_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.reportbugerror_);
    }
    clear_has_event();
  }
}
inline ::grpc::ReportBugErrorEvent* PROTOBUF_NULLABLE AppEvent::release_reportbugerror() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.reportBugError)
  if (event_case() == kReportBugError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ReportBugErrorEvent*>(_impl_.event_.reportbugerror_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.reportbugerror_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ReportBugErrorEvent& AppEvent::_internal_reportbugerror() const {
  return event_case() == kReportBugError ? static_cast<const ::grpc::ReportBugErrorEvent&>(*reinterpret_cast<::grpc::ReportBugErrorEvent*>(_impl_.event_.reportbugerror_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ReportBugErrorEvent>(&::grpc::ReportBugErrorEvent_globals_);
}
inline const ::grpc::ReportBugErrorEvent& AppEvent::reportbugerror() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.reportBugError)
  return _internal_reportbugerror();
}
inline ::grpc::ReportBugErrorEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_reportbugerror() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.reportBugError)
  if (event_case() == kReportBugError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ReportBugErrorEvent*>(_impl_.event_.reportbugerror_);
    _impl_.event_.reportbugerror_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_reportbugerror(
    ::grpc::ReportBugErrorEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_reportbugerror();
    _impl_.event_.reportbugerror_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.reportBugError)
}
inline ::grpc::ReportBugErrorEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_reportbugerror() {
  if (event_case() != kReportBugError) {
    clear_event();
    set_has_reportbugerror();
    _impl_.event_.reportbugerror_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ReportBugErrorEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ReportBugErrorEvent*>(_impl_.event_.reportbugerror_);
}
inline ::grpc::ReportBugErrorEvent* PROTOBUF_NONNULL AppEvent::mutable_reportbugerror()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ReportBugErrorEvent* _msg = _internal_mutable_reportbugerror();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.reportBugError)
  return _msg;
}

// .grpc.ShowMainWindowEvent showMainWindow = 7;
inline bool AppEvent::has_showmainwindow() const {
  return event_case() == kShowMainWindow;
}
inline bool AppEvent::_internal_has_showmainwindow() const {
  return event_case() == kShowMainWindow;
}
inline void AppEvent::set_has_showmainwindow() {
  _impl_._oneof_case_[0] = kShowMainWindow;
}
inline void AppEvent::clear_showmainwindow() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kShowMainWindow) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.showmainwindow_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.showmainwindow_);
    }
    clear_has_event();
  }
}
inline ::grpc::ShowMainWindowEvent* PROTOBUF_NULLABLE AppEvent::release_showmainwindow() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.showMainWindow)
  if (event_case() == kShowMainWindow) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ShowMainWindowEvent*>(_impl_.event_.showmainwindow_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.showmainwindow_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ShowMainWindowEvent& AppEvent::_internal_showmainwindow() const {
  return event_case() == kShowMainWindow ? static_cast<const ::grpc::ShowMainWindowEvent&>(*reinterpret_cast<::grpc::ShowMainWindowEvent*>(_impl_.event_.showmainwindow_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ShowMainWindowEvent>(&::grpc::ShowMainWindowEvent_globals_);
}
inline const ::grpc::ShowMainWindowEvent& AppEvent::showmainwindow() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.showMainWindow)
  return _internal_showmainwindow();
}
inline ::grpc::ShowMainWindowEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_showmainwindow() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.showMainWindow)
  if (event_case() == kShowMainWindow) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ShowMainWindowEvent*>(_impl_.event_.showmainwindow_);
    _impl_.event_.showmainwindow_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_showmainwindow(
    ::grpc::ShowMainWindowEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_showmainwindow();
    _impl_.event_.showmainwindow_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.showMainWindow)
}
inline ::grpc::ShowMainWindowEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_showmainwindow() {
  if (event_case() != kShowMainWindow) {
    clear_event();
    set_has_showmainwindow();
    _impl_.event_.showmainwindow_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ShowMainWindowEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ShowMainWindowEvent*>(_impl_.event_.showmainwindow_);
}
inline ::grpc::ShowMainWindowEvent* PROTOBUF_NONNULL AppEvent::mutable_showmainwindow()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ShowMainWindowEvent* _msg = _internal_mutable_showmainwindow();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.showMainWindow)
  return _msg;
}

// .grpc.ReportBugFallbackEvent reportBugFallback = 8;
inline bool AppEvent::has_reportbugfallback() const {
  return event_case() == kReportBugFallback;
}
inline bool AppEvent::_internal_has_reportbugfallback() const {
  return event_case() == kReportBugFallback;
}
inline void AppEvent::set_has_reportbugfallback() {
  _impl_._oneof_case_[0] = kReportBugFallback;
}
inline void AppEvent::clear_reportbugfallback() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kReportBugFallback) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.reportbugfallback_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.reportbugfallback_);
    }
    clear_has_event();
  }
}
inline ::grpc::ReportBugFallbackEvent* PROTOBUF_NULLABLE AppEvent::release_reportbugfallback() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.reportBugFallback)
  if (event_case() == kReportBugFallback) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ReportBugFallbackEvent*>(_impl_.event_.reportbugfallback_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.reportbugfallback_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ReportBugFallbackEvent& AppEvent::_internal_reportbugfallback() const {
  return event_case() == kReportBugFallback ? static_cast<const ::grpc::ReportBugFallbackEvent&>(*reinterpret_cast<::grpc::ReportBugFallbackEvent*>(_impl_.event_.reportbugfallback_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ReportBugFallbackEvent>(&::grpc::ReportBugFallbackEvent_globals_);
}
inline const ::grpc::ReportBugFallbackEvent& AppEvent::reportbugfallback() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.reportBugFallback)
  return _internal_reportbugfallback();
}
inline ::grpc::ReportBugFallbackEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_reportbugfallback() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.reportBugFallback)
  if (event_case() == kReportBugFallback) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ReportBugFallbackEvent*>(_impl_.event_.reportbugfallback_);
    _impl_.event_.reportbugfallback_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_reportbugfallback(
    ::grpc::ReportBugFallbackEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_reportbugfallback();
    _impl_.event_.reportbugfallback_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.reportBugFallback)
}
inline ::grpc::ReportBugFallbackEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_reportbugfallback() {
  if (event_case() != kReportBugFallback) {
    clear_event();
    set_has_reportbugfallback();
    _impl_.event_.reportbugfallback_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ReportBugFallbackEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ReportBugFallbackEvent*>(_impl_.event_.reportbugfallback_);
}
inline ::grpc::ReportBugFallbackEvent* PROTOBUF_NONNULL AppEvent::mutable_reportbugfallback()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ReportBugFallbackEvent* _msg = _internal_mutable_reportbugfallback();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.reportBugFallback)
  return _msg;
}

// .grpc.CertificateInstallSuccessEvent certificateInstallSuccess = 9;
inline bool AppEvent::has_certificateinstallsuccess() const {
  return event_case() == kCertificateInstallSuccess;
}
inline bool AppEvent::_internal_has_certificateinstallsuccess() const {
  return event_case() == kCertificateInstallSuccess;
}
inline void AppEvent::set_has_certificateinstallsuccess() {
  _impl_._oneof_case_[0] = kCertificateInstallSuccess;
}
inline void AppEvent::clear_certificateinstallsuccess() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kCertificateInstallSuccess) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.certificateinstallsuccess_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.certificateinstallsuccess_);
    }
    clear_has_event();
  }
}
inline ::grpc::CertificateInstallSuccessEvent* PROTOBUF_NULLABLE AppEvent::release_certificateinstallsuccess() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.certificateInstallSuccess)
  if (event_case() == kCertificateInstallSuccess) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::CertificateInstallSuccessEvent*>(_impl_.event_.certificateinstallsuccess_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.certificateinstallsuccess_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::CertificateInstallSuccessEvent& AppEvent::_internal_certificateinstallsuccess() const {
  return event_case() == kCertificateInstallSuccess ? static_cast<const ::grpc::CertificateInstallSuccessEvent&>(*reinterpret_cast<::grpc::CertificateInstallSuccessEvent*>(_impl_.event_.certificateinstallsuccess_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::CertificateInstallSuccessEvent>(&::grpc::CertificateInstallSuccessEvent_globals_);
}
inline const ::grpc::CertificateInstallSuccessEvent& AppEvent::certificateinstallsuccess() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.certificateInstallSuccess)
  return _internal_certificateinstallsuccess();
}
inline ::grpc::CertificateInstallSuccessEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_certificateinstallsuccess() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.certificateInstallSuccess)
  if (event_case() == kCertificateInstallSuccess) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::CertificateInstallSuccessEvent*>(_impl_.event_.certificateinstallsuccess_);
    _impl_.event_.certificateinstallsuccess_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_certificateinstallsuccess(
    ::grpc::CertificateInstallSuccessEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_certificateinstallsuccess();
    _impl_.event_.certificateinstallsuccess_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.certificateInstallSuccess)
}
inline ::grpc::CertificateInstallSuccessEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_certificateinstallsuccess() {
  if (event_case() != kCertificateInstallSuccess) {
    clear_event();
    set_has_certificateinstallsuccess();
    _impl_.event_.certificateinstallsuccess_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::CertificateInstallSuccessEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::CertificateInstallSuccessEvent*>(_impl_.event_.certificateinstallsuccess_);
}
inline ::grpc::CertificateInstallSuccessEvent* PROTOBUF_NONNULL AppEvent::mutable_certificateinstallsuccess()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::CertificateInstallSuccessEvent* _msg = _internal_mutable_certificateinstallsuccess();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.certificateInstallSuccess)
  return _msg;
}

// .grpc.CertificateInstallCanceledEvent certificateInstallCanceled = 10;
inline bool AppEvent::has_certificateinstallcanceled() const {
  return event_case() == kCertificateInstallCanceled;
}
inline bool AppEvent::_internal_has_certificateinstallcanceled() const {
  return event_case() == kCertificateInstallCanceled;
}
inline void AppEvent::set_has_certificateinstallcanceled() {
  _impl_._oneof_case_[0] = kCertificateInstallCanceled;
}
inline void AppEvent::clear_certificateinstallcanceled() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kCertificateInstallCanceled) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.certificateinstallcanceled_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.certificateinstallcanceled_);
    }
    clear_has_event();
  }
}
inline ::grpc::CertificateInstallCanceledEvent* PROTOBUF_NULLABLE AppEvent::release_certificateinstallcanceled() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.certificateInstallCanceled)
  if (event_case() == kCertificateInstallCanceled) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::CertificateInstallCanceledEvent*>(_impl_.event_.certificateinstallcanceled_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.certificateinstallcanceled_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::CertificateInstallCanceledEvent& AppEvent::_internal_certificateinstallcanceled() const {
  return event_case() == kCertificateInstallCanceled ? static_cast<const ::grpc::CertificateInstallCanceledEvent&>(*reinterpret_cast<::grpc::CertificateInstallCanceledEvent*>(_impl_.event_.certificateinstallcanceled_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::CertificateInstallCanceledEvent>(&::grpc::CertificateInstallCanceledEvent_globals_);
}
inline const ::grpc::CertificateInstallCanceledEvent& AppEvent::certificateinstallcanceled() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.certificateInstallCanceled)
  return _internal_certificateinstallcanceled();
}
inline ::grpc::CertificateInstallCanceledEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_certificateinstallcanceled() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.certificateInstallCanceled)
  if (event_case() == kCertificateInstallCanceled) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::CertificateInstallCanceledEvent*>(_impl_.event_.certificateinstallcanceled_);
    _impl_.event_.certificateinstallcanceled_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_certificateinstallcanceled(
    ::grpc::CertificateInstallCanceledEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_certificateinstallcanceled();
    _impl_.event_.certificateinstallcanceled_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.certificateInstallCanceled)
}
inline ::grpc::CertificateInstallCanceledEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_certificateinstallcanceled() {
  if (event_case() != kCertificateInstallCanceled) {
    clear_event();
    set_has_certificateinstallcanceled();
    _impl_.event_.certificateinstallcanceled_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::CertificateInstallCanceledEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::CertificateInstallCanceledEvent*>(_impl_.event_.certificateinstallcanceled_);
}
inline ::grpc::CertificateInstallCanceledEvent* PROTOBUF_NONNULL AppEvent::mutable_certificateinstallcanceled()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::CertificateInstallCanceledEvent* _msg = _internal_mutable_certificateinstallcanceled();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.certificateInstallCanceled)
  return _msg;
}

// .grpc.CertificateInstallFailedEvent certificateInstallFailed = 11;
inline bool AppEvent::has_certificateinstallfailed() const {
  return event_case() == kCertificateInstallFailed;
}
inline bool AppEvent::_internal_has_certificateinstallfailed() const {
  return event_case() == kCertificateInstallFailed;
}
inline void AppEvent::set_has_certificateinstallfailed() {
  _impl_._oneof_case_[0] = kCertificateInstallFailed;
}
inline void AppEvent::clear_certificateinstallfailed() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kCertificateInstallFailed) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.certificateinstallfailed_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.certificateinstallfailed_);
    }
    clear_has_event();
  }
}
inline ::grpc::CertificateInstallFailedEvent* PROTOBUF_NULLABLE AppEvent::release_certificateinstallfailed() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.certificateInstallFailed)
  if (event_case() == kCertificateInstallFailed) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::CertificateInstallFailedEvent*>(_impl_.event_.certificateinstallfailed_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.certificateinstallfailed_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::CertificateInstallFailedEvent& AppEvent::_internal_certificateinstallfailed() const {
  return event_case() == kCertificateInstallFailed ? static_cast<const ::grpc::CertificateInstallFailedEvent&>(*reinterpret_cast<::grpc::CertificateInstallFailedEvent*>(_impl_.event_.certificateinstallfailed_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::CertificateInstallFailedEvent>(&::grpc::CertificateInstallFailedEvent_globals_);
}
inline const ::grpc::CertificateInstallFailedEvent& AppEvent::certificateinstallfailed() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.certificateInstallFailed)
  return _internal_certificateinstallfailed();
}
inline ::grpc::CertificateInstallFailedEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_certificateinstallfailed() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.certificateInstallFailed)
  if (event_case() == kCertificateInstallFailed) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::CertificateInstallFailedEvent*>(_impl_.event_.certificateinstallfailed_);
    _impl_.event_.certificateinstallfailed_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_certificateinstallfailed(
    ::grpc::CertificateInstallFailedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_certificateinstallfailed();
    _impl_.event_.certificateinstallfailed_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.certificateInstallFailed)
}
inline ::grpc::CertificateInstallFailedEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_certificateinstallfailed() {
  if (event_case() != kCertificateInstallFailed) {
    clear_event();
    set_has_certificateinstallfailed();
    _impl_.event_.certificateinstallfailed_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::CertificateInstallFailedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::CertificateInstallFailedEvent*>(_impl_.event_.certificateinstallfailed_);
}
inline ::grpc::CertificateInstallFailedEvent* PROTOBUF_NONNULL AppEvent::mutable_certificateinstallfailed()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::CertificateInstallFailedEvent* _msg = _internal_mutable_certificateinstallfailed();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.certificateInstallFailed)
  return _msg;
}

// .grpc.KnowledgeBaseSuggestionsEvent knowledgeBaseSuggestions = 12;
inline bool AppEvent::has_knowledgebasesuggestions() const {
  return event_case() == kKnowledgeBaseSuggestions;
}
inline bool AppEvent::_internal_has_knowledgebasesuggestions() const {
  return event_case() == kKnowledgeBaseSuggestions;
}
inline void AppEvent::set_has_knowledgebasesuggestions() {
  _impl_._oneof_case_[0] = kKnowledgeBaseSuggestions;
}
inline void AppEvent::clear_knowledgebasesuggestions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kKnowledgeBaseSuggestions) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.knowledgebasesuggestions_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.knowledgebasesuggestions_);
    }
    clear_has_event();
  }
}
inline ::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NULLABLE AppEvent::release_knowledgebasesuggestions() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.knowledgeBaseSuggestions)
  if (event_case() == kKnowledgeBaseSuggestions) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::KnowledgeBaseSuggestionsEvent*>(_impl_.event_.knowledgebasesuggestions_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.knowledgebasesuggestions_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::KnowledgeBaseSuggestionsEvent& AppEvent::_internal_knowledgebasesuggestions() const {
  return event_case() == kKnowledgeBaseSuggestions ? static_cast<const ::grpc::KnowledgeBaseSuggestionsEvent&>(*reinterpret_cast<::grpc::KnowledgeBaseSuggestionsEvent*>(_impl_.event_.knowledgebasesuggestions_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::KnowledgeBaseSuggestionsEvent>(&::grpc::KnowledgeBaseSuggestionsEvent_globals_);
}
inline const ::grpc::KnowledgeBaseSuggestionsEvent& AppEvent::knowledgebasesuggestions() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.knowledgeBaseSuggestions)
  return _internal_knowledgebasesuggestions();
}
inline ::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_knowledgebasesuggestions() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.knowledgeBaseSuggestions)
  if (event_case() == kKnowledgeBaseSuggestions) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::KnowledgeBaseSuggestionsEvent*>(_impl_.event_.knowledgebasesuggestions_);
    _impl_.event_.knowledgebasesuggestions_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_knowledgebasesuggestions(
    ::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_knowledgebasesuggestions();
    _impl_.event_.knowledgebasesuggestions_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.knowledgeBaseSuggestions)
}
inline ::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_knowledgebasesuggestions() {
  if (event_case() != kKnowledgeBaseSuggestions) {
    clear_event();
    set_has_knowledgebasesuggestions();
    _impl_.event_.knowledgebasesuggestions_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::KnowledgeBaseSuggestionsEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::KnowledgeBaseSuggestionsEvent*>(_impl_.event_.knowledgebasesuggestions_);
}
inline ::grpc::KnowledgeBaseSuggestionsEvent* PROTOBUF_NONNULL AppEvent::mutable_knowledgebasesuggestions()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::KnowledgeBaseSuggestionsEvent* _msg = _internal_mutable_knowledgebasesuggestions();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.knowledgeBaseSuggestions)
  return _msg;
}

// .grpc.RepairStartedEvent repairStarted = 13;
inline bool AppEvent::has_repairstarted() const {
  return event_case() == kRepairStarted;
}
inline bool AppEvent::_internal_has_repairstarted() const {
  return event_case() == kRepairStarted;
}
inline void AppEvent::set_has_repairstarted() {
  _impl_._oneof_case_[0] = kRepairStarted;
}
inline void AppEvent::clear_repairstarted() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kRepairStarted) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.repairstarted_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.repairstarted_);
    }
    clear_has_event();
  }
}
inline ::grpc::RepairStartedEvent* PROTOBUF_NULLABLE AppEvent::release_repairstarted() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.repairStarted)
  if (event_case() == kRepairStarted) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::RepairStartedEvent*>(_impl_.event_.repairstarted_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.repairstarted_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::RepairStartedEvent& AppEvent::_internal_repairstarted() const {
  return event_case() == kRepairStarted ? static_cast<const ::grpc::RepairStartedEvent&>(*reinterpret_cast<::grpc::RepairStartedEvent*>(_impl_.event_.repairstarted_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::RepairStartedEvent>(&::grpc::RepairStartedEvent_globals_);
}
inline const ::grpc::RepairStartedEvent& AppEvent::repairstarted() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.repairStarted)
  return _internal_repairstarted();
}
inline ::grpc::RepairStartedEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_repairstarted() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.repairStarted)
  if (event_case() == kRepairStarted) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::RepairStartedEvent*>(_impl_.event_.repairstarted_);
    _impl_.event_.repairstarted_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_repairstarted(
    ::grpc::RepairStartedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_repairstarted();
    _impl_.event_.repairstarted_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.repairStarted)
}
inline ::grpc::RepairStartedEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_repairstarted() {
  if (event_case() != kRepairStarted) {
    clear_event();
    set_has_repairstarted();
    _impl_.event_.repairstarted_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::RepairStartedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::RepairStartedEvent*>(_impl_.event_.repairstarted_);
}
inline ::grpc::RepairStartedEvent* PROTOBUF_NONNULL AppEvent::mutable_repairstarted()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::RepairStartedEvent* _msg = _internal_mutable_repairstarted();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.repairStarted)
  return _msg;
}

// .grpc.AllUsersLoadedEvent allUsersLoaded = 14;
inline bool AppEvent::has_allusersloaded() const {
  return event_case() == kAllUsersLoaded;
}
inline bool AppEvent::_internal_has_allusersloaded() const {
  return event_case() == kAllUsersLoaded;
}
inline void AppEvent::set_has_allusersloaded() {
  _impl_._oneof_case_[0] = kAllUsersLoaded;
}
inline void AppEvent::clear_allusersloaded() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kAllUsersLoaded) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.allusersloaded_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.allusersloaded_);
    }
    clear_has_event();
  }
}
inline ::grpc::AllUsersLoadedEvent* PROTOBUF_NULLABLE AppEvent::release_allusersloaded() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.allUsersLoaded)
  if (event_case() == kAllUsersLoaded) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::AllUsersLoadedEvent*>(_impl_.event_.allusersloaded_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.allusersloaded_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::AllUsersLoadedEvent& AppEvent::_internal_allusersloaded() const {
  return event_case() == kAllUsersLoaded ? static_cast<const ::grpc::AllUsersLoadedEvent&>(*reinterpret_cast<::grpc::AllUsersLoadedEvent*>(_impl_.event_.allusersloaded_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::AllUsersLoadedEvent>(&::grpc::AllUsersLoadedEvent_globals_);
}
inline const ::grpc::AllUsersLoadedEvent& AppEvent::allusersloaded() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.allUsersLoaded)
  return _internal_allusersloaded();
}
inline ::grpc::AllUsersLoadedEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_allusersloaded() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.allUsersLoaded)
  if (event_case() == kAllUsersLoaded) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::AllUsersLoadedEvent*>(_impl_.event_.allusersloaded_);
    _impl_.event_.allusersloaded_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_allusersloaded(
    ::grpc::AllUsersLoadedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_allusersloaded();
    _impl_.event_.allusersloaded_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.allUsersLoaded)
}
inline ::grpc::AllUsersLoadedEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_allusersloaded() {
  if (event_case() != kAllUsersLoaded) {
    clear_event();
    set_has_allusersloaded();
    _impl_.event_.allusersloaded_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::AllUsersLoadedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::AllUsersLoadedEvent*>(_impl_.event_.allusersloaded_);
}
inline ::grpc::AllUsersLoadedEvent* PROTOBUF_NONNULL AppEvent::mutable_allusersloaded()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::AllUsersLoadedEvent* _msg = _internal_mutable_allusersloaded();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.allUsersLoaded)
  return _msg;
}

// .grpc.UserNotificationEvent userNotification = 15;
inline bool AppEvent::has_usernotification() const {
  return event_case() == kUserNotification;
}
inline bool AppEvent::_internal_has_usernotification() const {
  return event_case() == kUserNotification;
}
inline void AppEvent::set_has_usernotification() {
  _impl_._oneof_case_[0] = kUserNotification;
}
inline void AppEvent::clear_usernotification() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kUserNotification) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.usernotification_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.usernotification_);
    }
    clear_has_event();
  }
}
inline ::grpc::UserNotificationEvent* PROTOBUF_NULLABLE AppEvent::release_usernotification() {
  // @@protoc_insertion_point(field_release:grpc.AppEvent.userNotification)
  if (event_case() == kUserNotification) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UserNotificationEvent*>(_impl_.event_.usernotification_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.usernotification_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UserNotificationEvent& AppEvent::_internal_usernotification() const {
  return event_case() == kUserNotification ? static_cast<const ::grpc::UserNotificationEvent&>(*reinterpret_cast<::grpc::UserNotificationEvent*>(_impl_.event_.usernotification_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UserNotificationEvent>(&::grpc::UserNotificationEvent_globals_);
}
inline const ::grpc::UserNotificationEvent& AppEvent::usernotification() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AppEvent.userNotification)
  return _internal_usernotification();
}
inline ::grpc::UserNotificationEvent* PROTOBUF_NULLABLE AppEvent::unsafe_arena_release_usernotification() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.AppEvent.userNotification)
  if (event_case() == kUserNotification) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UserNotificationEvent*>(_impl_.event_.usernotification_);
    _impl_.event_.usernotification_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppEvent::unsafe_arena_set_allocated_usernotification(
    ::grpc::UserNotificationEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_usernotification();
    _impl_.event_.usernotification_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.AppEvent.userNotification)
}
inline ::grpc::UserNotificationEvent* PROTOBUF_NONNULL AppEvent::_internal_mutable_usernotification() {
  if (event_case() != kUserNotification) {
    clear_event();
    set_has_usernotification();
    _impl_.event_.usernotification_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UserNotificationEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UserNotificationEvent*>(_impl_.event_.usernotification_);
}
inline ::grpc::UserNotificationEvent* PROTOBUF_NONNULL AppEvent::mutable_usernotification()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UserNotificationEvent* _msg = _internal_mutable_usernotification();
  // @@protoc_insertion_point(field_mutable:grpc.AppEvent.userNotification)
  return _msg;
}

inline bool AppEvent::has_event() const {
  return event_case() != EVENT_NOT_SET;
}
inline void AppEvent::clear_has_event() {
  _impl_._oneof_case_[0] = EVENT_NOT_SET;
}
inline AppEvent::EventCase AppEvent::event_case() const {
  return AppEvent::EventCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// InternetStatusEvent

// bool connected = 1;
inline void InternetStatusEvent::clear_connected() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.connected_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline bool InternetStatusEvent::connected() const {
  // @@protoc_insertion_point(field_get:grpc.InternetStatusEvent.connected)
  return _internal_connected();
}
inline void InternetStatusEvent::set_connected(bool value) {
  _internal_set_connected(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:grpc.InternetStatusEvent.connected)
}
inline bool InternetStatusEvent::_internal_connected() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.connected_;
}
inline void InternetStatusEvent::_internal_set_connected(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.connected_ = value;
}

// -------------------------------------------------------------------

// ToggleAutostartFinishedEvent

// -------------------------------------------------------------------

// ResetFinishedEvent

// -------------------------------------------------------------------

// ReportBugFinishedEvent

// -------------------------------------------------------------------

// ReportBugSuccessEvent

// -------------------------------------------------------------------

// ReportBugErrorEvent

// -------------------------------------------------------------------

// ShowMainWindowEvent

// -------------------------------------------------------------------

// ReportBugFallbackEvent

// -------------------------------------------------------------------

// CertificateInstallSuccessEvent

// -------------------------------------------------------------------

// CertificateInstallCanceledEvent

// -------------------------------------------------------------------

// CertificateInstallFailedEvent

// -------------------------------------------------------------------

// RepairStartedEvent

// -------------------------------------------------------------------

// AllUsersLoadedEvent

// -------------------------------------------------------------------

// KnowledgeBaseSuggestion

// string url = 1;
inline void KnowledgeBaseSuggestion::clear_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.url_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& KnowledgeBaseSuggestion::url() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.KnowledgeBaseSuggestion.url)
  return _internal_url();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void KnowledgeBaseSuggestion::set_url(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.KnowledgeBaseSuggestion.url)
}
inline ::std::string* PROTOBUF_NONNULL KnowledgeBaseSuggestion::mutable_url()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:grpc.KnowledgeBaseSuggestion.url)
  return _s;
}
inline const ::std::string& KnowledgeBaseSuggestion::_internal_url() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.url_.Get();
}
inline void KnowledgeBaseSuggestion::_internal_set_url(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.url_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL KnowledgeBaseSuggestion::_internal_mutable_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.url_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE KnowledgeBaseSuggestion::release_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.KnowledgeBaseSuggestion.url)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.url_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.url_.Set("", GetArena());
  }
  return released;
}
inline void KnowledgeBaseSuggestion::set_allocated_url(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.url_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.KnowledgeBaseSuggestion.url)
}

// string title = 2;
inline void KnowledgeBaseSuggestion::clear_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.title_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& KnowledgeBaseSuggestion::title() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.KnowledgeBaseSuggestion.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void KnowledgeBaseSuggestion::set_title(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.KnowledgeBaseSuggestion.title)
}
inline ::std::string* PROTOBUF_NONNULL KnowledgeBaseSuggestion::mutable_title()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:grpc.KnowledgeBaseSuggestion.title)
  return _s;
}
inline const ::std::string& KnowledgeBaseSuggestion::_internal_title() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.title_.Get();
}
inline void KnowledgeBaseSuggestion::_internal_set_title(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.title_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL KnowledgeBaseSuggestion::_internal_mutable_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.title_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE KnowledgeBaseSuggestion::release_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.KnowledgeBaseSuggestion.title)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.title_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.title_.Set("", GetArena());
  }
  return released;
}
inline void KnowledgeBaseSuggestion::set_allocated_title(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.title_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.title_.IsDefault()) {
    _impl_.title_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.KnowledgeBaseSuggestion.title)
}

// -------------------------------------------------------------------

// KnowledgeBaseSuggestionsEvent

// repeated .grpc.KnowledgeBaseSuggestion suggestions = 1;
inline int KnowledgeBaseSuggestionsEvent::_internal_suggestions_size() const {
  return _internal_suggestions().size();
}
inline int KnowledgeBaseSuggestionsEvent::suggestions_size() const {
  return _internal_suggestions_size();
}
inline void KnowledgeBaseSuggestionsEvent::clear_suggestions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.suggestions_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::grpc::KnowledgeBaseSuggestion& KnowledgeBaseSuggestionsEvent::suggestions(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.KnowledgeBaseSuggestionsEvent.suggestions)
  return _internal_suggestions().Get(index);
}
inline ::grpc::KnowledgeBaseSuggestion* PROTOBUF_NONNULL KnowledgeBaseSuggestionsEvent::mutable_suggestions(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.KnowledgeBaseSuggestionsEvent.suggestions)
  return _internal_mutable_suggestions()->Mutable(index);
}
inline ::grpc::KnowledgeBaseSuggestion* PROTOBUF_NONNULL KnowledgeBaseSuggestionsEvent::add_suggestions()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::grpc::KnowledgeBaseSuggestion* _add =
      _internal_mutable_suggestions()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:grpc.KnowledgeBaseSuggestionsEvent.suggestions)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::grpc::KnowledgeBaseSuggestion>& KnowledgeBaseSuggestionsEvent::suggestions() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.KnowledgeBaseSuggestionsEvent.suggestions)
  return _internal_suggestions();
}
inline ::google::protobuf::RepeatedPtrField<::grpc::KnowledgeBaseSuggestion>* PROTOBUF_NONNULL
KnowledgeBaseSuggestionsEvent::mutable_suggestions() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:grpc.KnowledgeBaseSuggestionsEvent.suggestions)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_suggestions();
}
inline const ::google::protobuf::RepeatedPtrField<::grpc::KnowledgeBaseSuggestion>&
KnowledgeBaseSuggestionsEvent::_internal_suggestions() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.suggestions_;
}
inline ::google::protobuf::RepeatedPtrField<::grpc::KnowledgeBaseSuggestion>* PROTOBUF_NONNULL
KnowledgeBaseSuggestionsEvent::_internal_mutable_suggestions() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.suggestions_;
}

// -------------------------------------------------------------------

// LoginEvent

// .grpc.LoginErrorEvent error = 1;
inline bool LoginEvent::has_error() const {
  return event_case() == kError;
}
inline bool LoginEvent::_internal_has_error() const {
  return event_case() == kError;
}
inline void LoginEvent::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void LoginEvent::clear_error() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kError) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.error_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.error_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginErrorEvent* PROTOBUF_NULLABLE LoginEvent::release_error() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.error)
  if (event_case() == kError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginErrorEvent*>(_impl_.event_.error_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginErrorEvent& LoginEvent::_internal_error() const {
  return event_case() == kError ? static_cast<const ::grpc::LoginErrorEvent&>(*reinterpret_cast<::grpc::LoginErrorEvent*>(_impl_.event_.error_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginErrorEvent>(&::grpc::LoginErrorEvent_globals_);
}
inline const ::grpc::LoginErrorEvent& LoginEvent::error() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.error)
  return _internal_error();
}
inline ::grpc::LoginErrorEvent* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.error)
  if (event_case() == kError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginErrorEvent*>(_impl_.event_.error_);
    _impl_.event_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_error(
    ::grpc::LoginErrorEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_error();
    _impl_.event_.error_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.error)
}
inline ::grpc::LoginErrorEvent* PROTOBUF_NONNULL LoginEvent::_internal_mutable_error() {
  if (event_case() != kError) {
    clear_event();
    set_has_error();
    _impl_.event_.error_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginErrorEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginErrorEvent*>(_impl_.event_.error_);
}
inline ::grpc::LoginErrorEvent* PROTOBUF_NONNULL LoginEvent::mutable_error()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginErrorEvent* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.error)
  return _msg;
}

// .grpc.LoginTfaRequestedEvent tfaRequested = 2;
inline bool LoginEvent::has_tfarequested() const {
  return event_case() == kTfaRequested;
}
inline bool LoginEvent::_internal_has_tfarequested() const {
  return event_case() == kTfaRequested;
}
inline void LoginEvent::set_has_tfarequested() {
  _impl_._oneof_case_[0] = kTfaRequested;
}
inline void LoginEvent::clear_tfarequested() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kTfaRequested) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.tfarequested_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.tfarequested_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginTfaRequestedEvent* PROTOBUF_NULLABLE LoginEvent::release_tfarequested() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.tfaRequested)
  if (event_case() == kTfaRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginTfaRequestedEvent*>(_impl_.event_.tfarequested_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.tfarequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginTfaRequestedEvent& LoginEvent::_internal_tfarequested() const {
  return event_case() == kTfaRequested ? static_cast<const ::grpc::LoginTfaRequestedEvent&>(*reinterpret_cast<::grpc::LoginTfaRequestedEvent*>(_impl_.event_.tfarequested_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginTfaRequestedEvent>(&::grpc::LoginTfaRequestedEvent_globals_);
}
inline const ::grpc::LoginTfaRequestedEvent& LoginEvent::tfarequested() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.tfaRequested)
  return _internal_tfarequested();
}
inline ::grpc::LoginTfaRequestedEvent* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_tfarequested() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.tfaRequested)
  if (event_case() == kTfaRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginTfaRequestedEvent*>(_impl_.event_.tfarequested_);
    _impl_.event_.tfarequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_tfarequested(
    ::grpc::LoginTfaRequestedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_tfarequested();
    _impl_.event_.tfarequested_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.tfaRequested)
}
inline ::grpc::LoginTfaRequestedEvent* PROTOBUF_NONNULL LoginEvent::_internal_mutable_tfarequested() {
  if (event_case() != kTfaRequested) {
    clear_event();
    set_has_tfarequested();
    _impl_.event_.tfarequested_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginTfaRequestedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginTfaRequestedEvent*>(_impl_.event_.tfarequested_);
}
inline ::grpc::LoginTfaRequestedEvent* PROTOBUF_NONNULL LoginEvent::mutable_tfarequested()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginTfaRequestedEvent* _msg = _internal_mutable_tfarequested();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.tfaRequested)
  return _msg;
}

// .grpc.LoginTwoPasswordsRequestedEvent twoPasswordRequested = 3;
inline bool LoginEvent::has_twopasswordrequested() const {
  return event_case() == kTwoPasswordRequested;
}
inline bool LoginEvent::_internal_has_twopasswordrequested() const {
  return event_case() == kTwoPasswordRequested;
}
inline void LoginEvent::set_has_twopasswordrequested() {
  _impl_._oneof_case_[0] = kTwoPasswordRequested;
}
inline void LoginEvent::clear_twopasswordrequested() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kTwoPasswordRequested) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.twopasswordrequested_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.twopasswordrequested_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NULLABLE LoginEvent::release_twopasswordrequested() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.twoPasswordRequested)
  if (event_case() == kTwoPasswordRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginTwoPasswordsRequestedEvent*>(_impl_.event_.twopasswordrequested_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.twopasswordrequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginTwoPasswordsRequestedEvent& LoginEvent::_internal_twopasswordrequested() const {
  return event_case() == kTwoPasswordRequested ? static_cast<const ::grpc::LoginTwoPasswordsRequestedEvent&>(*reinterpret_cast<::grpc::LoginTwoPasswordsRequestedEvent*>(_impl_.event_.twopasswordrequested_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginTwoPasswordsRequestedEvent>(&::grpc::LoginTwoPasswordsRequestedEvent_globals_);
}
inline const ::grpc::LoginTwoPasswordsRequestedEvent& LoginEvent::twopasswordrequested() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.twoPasswordRequested)
  return _internal_twopasswordrequested();
}
inline ::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_twopasswordrequested() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.twoPasswordRequested)
  if (event_case() == kTwoPasswordRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginTwoPasswordsRequestedEvent*>(_impl_.event_.twopasswordrequested_);
    _impl_.event_.twopasswordrequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_twopasswordrequested(
    ::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_twopasswordrequested();
    _impl_.event_.twopasswordrequested_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.twoPasswordRequested)
}
inline ::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NONNULL LoginEvent::_internal_mutable_twopasswordrequested() {
  if (event_case() != kTwoPasswordRequested) {
    clear_event();
    set_has_twopasswordrequested();
    _impl_.event_.twopasswordrequested_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginTwoPasswordsRequestedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginTwoPasswordsRequestedEvent*>(_impl_.event_.twopasswordrequested_);
}
inline ::grpc::LoginTwoPasswordsRequestedEvent* PROTOBUF_NONNULL LoginEvent::mutable_twopasswordrequested()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginTwoPasswordsRequestedEvent* _msg = _internal_mutable_twopasswordrequested();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.twoPasswordRequested)
  return _msg;
}

// .grpc.LoginFinishedEvent finished = 4;
inline bool LoginEvent::has_finished() const {
  return event_case() == kFinished;
}
inline bool LoginEvent::_internal_has_finished() const {
  return event_case() == kFinished;
}
inline void LoginEvent::set_has_finished() {
  _impl_._oneof_case_[0] = kFinished;
}
inline void LoginEvent::clear_finished() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kFinished) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.finished_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.finished_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE LoginEvent::release_finished() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.finished)
  if (event_case() == kFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFinishedEvent*>(_impl_.event_.finished_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.finished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginFinishedEvent& LoginEvent::_internal_finished() const {
  return event_case() == kFinished ? static_cast<const ::grpc::LoginFinishedEvent&>(*reinterpret_cast<::grpc::LoginFinishedEvent*>(_impl_.event_.finished_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginFinishedEvent>(&::grpc::LoginFinishedEvent_globals_);
}
inline const ::grpc::LoginFinishedEvent& LoginEvent::finished() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.finished)
  return _internal_finished();
}
inline ::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_finished() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.finished)
  if (event_case() == kFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFinishedEvent*>(_impl_.event_.finished_);
    _impl_.event_.finished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_finished(
    ::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_finished();
    _impl_.event_.finished_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.finished)
}
inline ::grpc::LoginFinishedEvent* PROTOBUF_NONNULL LoginEvent::_internal_mutable_finished() {
  if (event_case() != kFinished) {
    clear_event();
    set_has_finished();
    _impl_.event_.finished_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginFinishedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginFinishedEvent*>(_impl_.event_.finished_);
}
inline ::grpc::LoginFinishedEvent* PROTOBUF_NONNULL LoginEvent::mutable_finished()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginFinishedEvent* _msg = _internal_mutable_finished();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.finished)
  return _msg;
}

// .grpc.LoginFinishedEvent alreadyLoggedIn = 5;
inline bool LoginEvent::has_alreadyloggedin() const {
  return event_case() == kAlreadyLoggedIn;
}
inline bool LoginEvent::_internal_has_alreadyloggedin() const {
  return event_case() == kAlreadyLoggedIn;
}
inline void LoginEvent::set_has_alreadyloggedin() {
  _impl_._oneof_case_[0] = kAlreadyLoggedIn;
}
inline void LoginEvent::clear_alreadyloggedin() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kAlreadyLoggedIn) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.alreadyloggedin_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.alreadyloggedin_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE LoginEvent::release_alreadyloggedin() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.alreadyLoggedIn)
  if (event_case() == kAlreadyLoggedIn) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFinishedEvent*>(_impl_.event_.alreadyloggedin_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.alreadyloggedin_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginFinishedEvent& LoginEvent::_internal_alreadyloggedin() const {
  return event_case() == kAlreadyLoggedIn ? static_cast<const ::grpc::LoginFinishedEvent&>(*reinterpret_cast<::grpc::LoginFinishedEvent*>(_impl_.event_.alreadyloggedin_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginFinishedEvent>(&::grpc::LoginFinishedEvent_globals_);
}
inline const ::grpc::LoginFinishedEvent& LoginEvent::alreadyloggedin() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.alreadyLoggedIn)
  return _internal_alreadyloggedin();
}
inline ::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_alreadyloggedin() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.alreadyLoggedIn)
  if (event_case() == kAlreadyLoggedIn) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFinishedEvent*>(_impl_.event_.alreadyloggedin_);
    _impl_.event_.alreadyloggedin_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_alreadyloggedin(
    ::grpc::LoginFinishedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_alreadyloggedin();
    _impl_.event_.alreadyloggedin_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.alreadyLoggedIn)
}
inline ::grpc::LoginFinishedEvent* PROTOBUF_NONNULL LoginEvent::_internal_mutable_alreadyloggedin() {
  if (event_case() != kAlreadyLoggedIn) {
    clear_event();
    set_has_alreadyloggedin();
    _impl_.event_.alreadyloggedin_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginFinishedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginFinishedEvent*>(_impl_.event_.alreadyloggedin_);
}
inline ::grpc::LoginFinishedEvent* PROTOBUF_NONNULL LoginEvent::mutable_alreadyloggedin()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginFinishedEvent* _msg = _internal_mutable_alreadyloggedin();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.alreadyLoggedIn)
  return _msg;
}

// .grpc.LoginHvRequestedEvent hvRequested = 6;
inline bool LoginEvent::has_hvrequested() const {
  return event_case() == kHvRequested;
}
inline bool LoginEvent::_internal_has_hvrequested() const {
  return event_case() == kHvRequested;
}
inline void LoginEvent::set_has_hvrequested() {
  _impl_._oneof_case_[0] = kHvRequested;
}
inline void LoginEvent::clear_hvrequested() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kHvRequested) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.hvrequested_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.hvrequested_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginHvRequestedEvent* PROTOBUF_NULLABLE LoginEvent::release_hvrequested() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.hvRequested)
  if (event_case() == kHvRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginHvRequestedEvent*>(_impl_.event_.hvrequested_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.hvrequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginHvRequestedEvent& LoginEvent::_internal_hvrequested() const {
  return event_case() == kHvRequested ? static_cast<const ::grpc::LoginHvRequestedEvent&>(*reinterpret_cast<::grpc::LoginHvRequestedEvent*>(_impl_.event_.hvrequested_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginHvRequestedEvent>(&::grpc::LoginHvRequestedEvent_globals_);
}
inline const ::grpc::LoginHvRequestedEvent& LoginEvent::hvrequested() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.hvRequested)
  return _internal_hvrequested();
}
inline ::grpc::LoginHvRequestedEvent* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_hvrequested() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.hvRequested)
  if (event_case() == kHvRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginHvRequestedEvent*>(_impl_.event_.hvrequested_);
    _impl_.event_.hvrequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_hvrequested(
    ::grpc::LoginHvRequestedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_hvrequested();
    _impl_.event_.hvrequested_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.hvRequested)
}
inline ::grpc::LoginHvRequestedEvent* PROTOBUF_NONNULL LoginEvent::_internal_mutable_hvrequested() {
  if (event_case() != kHvRequested) {
    clear_event();
    set_has_hvrequested();
    _impl_.event_.hvrequested_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginHvRequestedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginHvRequestedEvent*>(_impl_.event_.hvrequested_);
}
inline ::grpc::LoginHvRequestedEvent* PROTOBUF_NONNULL LoginEvent::mutable_hvrequested()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginHvRequestedEvent* _msg = _internal_mutable_hvrequested();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.hvRequested)
  return _msg;
}

// .grpc.LoginFidoRequestedEvent fidoRequested = 7;
inline bool LoginEvent::has_fidorequested() const {
  return event_case() == kFidoRequested;
}
inline bool LoginEvent::_internal_has_fidorequested() const {
  return event_case() == kFidoRequested;
}
inline void LoginEvent::set_has_fidorequested() {
  _impl_._oneof_case_[0] = kFidoRequested;
}
inline void LoginEvent::clear_fidorequested() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kFidoRequested) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.fidorequested_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.fidorequested_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginFidoRequestedEvent* PROTOBUF_NULLABLE LoginEvent::release_fidorequested() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.fidoRequested)
  if (event_case() == kFidoRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFidoRequestedEvent*>(_impl_.event_.fidorequested_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.fidorequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginFidoRequestedEvent& LoginEvent::_internal_fidorequested() const {
  return event_case() == kFidoRequested ? static_cast<const ::grpc::LoginFidoRequestedEvent&>(*reinterpret_cast<::grpc::LoginFidoRequestedEvent*>(_impl_.event_.fidorequested_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginFidoRequestedEvent>(&::grpc::LoginFidoRequestedEvent_globals_);
}
inline const ::grpc::LoginFidoRequestedEvent& LoginEvent::fidorequested() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.fidoRequested)
  return _internal_fidorequested();
}
inline ::grpc::LoginFidoRequestedEvent* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_fidorequested() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.fidoRequested)
  if (event_case() == kFidoRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFidoRequestedEvent*>(_impl_.event_.fidorequested_);
    _impl_.event_.fidorequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_fidorequested(
    ::grpc::LoginFidoRequestedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_fidorequested();
    _impl_.event_.fidorequested_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.fidoRequested)
}
inline ::grpc::LoginFidoRequestedEvent* PROTOBUF_NONNULL LoginEvent::_internal_mutable_fidorequested() {
  if (event_case() != kFidoRequested) {
    clear_event();
    set_has_fidorequested();
    _impl_.event_.fidorequested_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginFidoRequestedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginFidoRequestedEvent*>(_impl_.event_.fidorequested_);
}
inline ::grpc::LoginFidoRequestedEvent* PROTOBUF_NONNULL LoginEvent::mutable_fidorequested()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginFidoRequestedEvent* _msg = _internal_mutable_fidorequested();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.fidoRequested)
  return _msg;
}

// .grpc.LoginTfaOrFidoRequestedEvent tfaOrFidoRequested = 8;
inline bool LoginEvent::has_tfaorfidorequested() const {
  return event_case() == kTfaOrFidoRequested;
}
inline bool LoginEvent::_internal_has_tfaorfidorequested() const {
  return event_case() == kTfaOrFidoRequested;
}
inline void LoginEvent::set_has_tfaorfidorequested() {
  _impl_._oneof_case_[0] = kTfaOrFidoRequested;
}
inline void LoginEvent::clear_tfaorfidorequested() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kTfaOrFidoRequested) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.tfaorfidorequested_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.tfaorfidorequested_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NULLABLE LoginEvent::release_tfaorfidorequested() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.tfaOrFidoRequested)
  if (event_case() == kTfaOrFidoRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginTfaOrFidoRequestedEvent*>(_impl_.event_.tfaorfidorequested_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.tfaorfidorequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginTfaOrFidoRequestedEvent& LoginEvent::_internal_tfaorfidorequested() const {
  return event_case() == kTfaOrFidoRequested ? static_cast<const ::grpc::LoginTfaOrFidoRequestedEvent&>(*reinterpret_cast<::grpc::LoginTfaOrFidoRequestedEvent*>(_impl_.event_.tfaorfidorequested_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginTfaOrFidoRequestedEvent>(&::grpc::LoginTfaOrFidoRequestedEvent_globals_);
}
inline const ::grpc::LoginTfaOrFidoRequestedEvent& LoginEvent::tfaorfidorequested() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.tfaOrFidoRequested)
  return _internal_tfaorfidorequested();
}
inline ::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_tfaorfidorequested() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.tfaOrFidoRequested)
  if (event_case() == kTfaOrFidoRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginTfaOrFidoRequestedEvent*>(_impl_.event_.tfaorfidorequested_);
    _impl_.event_.tfaorfidorequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_tfaorfidorequested(
    ::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_tfaorfidorequested();
    _impl_.event_.tfaorfidorequested_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.tfaOrFidoRequested)
}
inline ::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NONNULL LoginEvent::_internal_mutable_tfaorfidorequested() {
  if (event_case() != kTfaOrFidoRequested) {
    clear_event();
    set_has_tfaorfidorequested();
    _impl_.event_.tfaorfidorequested_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginTfaOrFidoRequestedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginTfaOrFidoRequestedEvent*>(_impl_.event_.tfaorfidorequested_);
}
inline ::grpc::LoginTfaOrFidoRequestedEvent* PROTOBUF_NONNULL LoginEvent::mutable_tfaorfidorequested()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginTfaOrFidoRequestedEvent* _msg = _internal_mutable_tfaorfidorequested();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.tfaOrFidoRequested)
  return _msg;
}

// .grpc.LoginFidoTouchEvent loginFidoTouchRequested = 9;
inline bool LoginEvent::has_loginfidotouchrequested() const {
  return event_case() == kLoginFidoTouchRequested;
}
inline bool LoginEvent::_internal_has_loginfidotouchrequested() const {
  return event_case() == kLoginFidoTouchRequested;
}
inline void LoginEvent::set_has_loginfidotouchrequested() {
  _impl_._oneof_case_[0] = kLoginFidoTouchRequested;
}
inline void LoginEvent::clear_loginfidotouchrequested() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kLoginFidoTouchRequested) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.loginfidotouchrequested_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.loginfidotouchrequested_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE LoginEvent::release_loginfidotouchrequested() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.loginFidoTouchRequested)
  if (event_case() == kLoginFidoTouchRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFidoTouchEvent*>(_impl_.event_.loginfidotouchrequested_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.loginfidotouchrequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginFidoTouchEvent& LoginEvent::_internal_loginfidotouchrequested() const {
  return event_case() == kLoginFidoTouchRequested ? static_cast<const ::grpc::LoginFidoTouchEvent&>(*reinterpret_cast<::grpc::LoginFidoTouchEvent*>(_impl_.event_.loginfidotouchrequested_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginFidoTouchEvent>(&::grpc::LoginFidoTouchEvent_globals_);
}
inline const ::grpc::LoginFidoTouchEvent& LoginEvent::loginfidotouchrequested() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.loginFidoTouchRequested)
  return _internal_loginfidotouchrequested();
}
inline ::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_loginfidotouchrequested() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.loginFidoTouchRequested)
  if (event_case() == kLoginFidoTouchRequested) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFidoTouchEvent*>(_impl_.event_.loginfidotouchrequested_);
    _impl_.event_.loginfidotouchrequested_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_loginfidotouchrequested(
    ::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_loginfidotouchrequested();
    _impl_.event_.loginfidotouchrequested_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.loginFidoTouchRequested)
}
inline ::grpc::LoginFidoTouchEvent* PROTOBUF_NONNULL LoginEvent::_internal_mutable_loginfidotouchrequested() {
  if (event_case() != kLoginFidoTouchRequested) {
    clear_event();
    set_has_loginfidotouchrequested();
    _impl_.event_.loginfidotouchrequested_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginFidoTouchEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginFidoTouchEvent*>(_impl_.event_.loginfidotouchrequested_);
}
inline ::grpc::LoginFidoTouchEvent* PROTOBUF_NONNULL LoginEvent::mutable_loginfidotouchrequested()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginFidoTouchEvent* _msg = _internal_mutable_loginfidotouchrequested();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.loginFidoTouchRequested)
  return _msg;
}

// .grpc.LoginFidoTouchEvent loginFidoTouchCompleted = 10;
inline bool LoginEvent::has_loginfidotouchcompleted() const {
  return event_case() == kLoginFidoTouchCompleted;
}
inline bool LoginEvent::_internal_has_loginfidotouchcompleted() const {
  return event_case() == kLoginFidoTouchCompleted;
}
inline void LoginEvent::set_has_loginfidotouchcompleted() {
  _impl_._oneof_case_[0] = kLoginFidoTouchCompleted;
}
inline void LoginEvent::clear_loginfidotouchcompleted() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kLoginFidoTouchCompleted) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.loginfidotouchcompleted_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.loginfidotouchcompleted_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE LoginEvent::release_loginfidotouchcompleted() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.loginFidoTouchCompleted)
  if (event_case() == kLoginFidoTouchCompleted) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFidoTouchEvent*>(_impl_.event_.loginfidotouchcompleted_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.loginfidotouchcompleted_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginFidoTouchEvent& LoginEvent::_internal_loginfidotouchcompleted() const {
  return event_case() == kLoginFidoTouchCompleted ? static_cast<const ::grpc::LoginFidoTouchEvent&>(*reinterpret_cast<::grpc::LoginFidoTouchEvent*>(_impl_.event_.loginfidotouchcompleted_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginFidoTouchEvent>(&::grpc::LoginFidoTouchEvent_globals_);
}
inline const ::grpc::LoginFidoTouchEvent& LoginEvent::loginfidotouchcompleted() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.loginFidoTouchCompleted)
  return _internal_loginfidotouchcompleted();
}
inline ::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_loginfidotouchcompleted() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.loginFidoTouchCompleted)
  if (event_case() == kLoginFidoTouchCompleted) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFidoTouchEvent*>(_impl_.event_.loginfidotouchcompleted_);
    _impl_.event_.loginfidotouchcompleted_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_loginfidotouchcompleted(
    ::grpc::LoginFidoTouchEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_loginfidotouchcompleted();
    _impl_.event_.loginfidotouchcompleted_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.loginFidoTouchCompleted)
}
inline ::grpc::LoginFidoTouchEvent* PROTOBUF_NONNULL LoginEvent::_internal_mutable_loginfidotouchcompleted() {
  if (event_case() != kLoginFidoTouchCompleted) {
    clear_event();
    set_has_loginfidotouchcompleted();
    _impl_.event_.loginfidotouchcompleted_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginFidoTouchEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginFidoTouchEvent*>(_impl_.event_.loginfidotouchcompleted_);
}
inline ::grpc::LoginFidoTouchEvent* PROTOBUF_NONNULL LoginEvent::mutable_loginfidotouchcompleted()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginFidoTouchEvent* _msg = _internal_mutable_loginfidotouchcompleted();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.loginFidoTouchCompleted)
  return _msg;
}

// .grpc.LoginFidoPinRequired loginFidoPinRequired = 11;
inline bool LoginEvent::has_loginfidopinrequired() const {
  return event_case() == kLoginFidoPinRequired;
}
inline bool LoginEvent::_internal_has_loginfidopinrequired() const {
  return event_case() == kLoginFidoPinRequired;
}
inline void LoginEvent::set_has_loginfidopinrequired() {
  _impl_._oneof_case_[0] = kLoginFidoPinRequired;
}
inline void LoginEvent::clear_loginfidopinrequired() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kLoginFidoPinRequired) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.loginfidopinrequired_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.loginfidopinrequired_);
    }
    clear_has_event();
  }
}
inline ::grpc::LoginFidoPinRequired* PROTOBUF_NULLABLE LoginEvent::release_loginfidopinrequired() {
  // @@protoc_insertion_point(field_release:grpc.LoginEvent.loginFidoPinRequired)
  if (event_case() == kLoginFidoPinRequired) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFidoPinRequired*>(_impl_.event_.loginfidopinrequired_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.loginfidopinrequired_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::LoginFidoPinRequired& LoginEvent::_internal_loginfidopinrequired() const {
  return event_case() == kLoginFidoPinRequired ? static_cast<const ::grpc::LoginFidoPinRequired&>(*reinterpret_cast<::grpc::LoginFidoPinRequired*>(_impl_.event_.loginfidopinrequired_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::LoginFidoPinRequired>(&::grpc::LoginFidoPinRequired_globals_);
}
inline const ::grpc::LoginFidoPinRequired& LoginEvent::loginfidopinrequired() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginEvent.loginFidoPinRequired)
  return _internal_loginfidopinrequired();
}
inline ::grpc::LoginFidoPinRequired* PROTOBUF_NULLABLE LoginEvent::unsafe_arena_release_loginfidopinrequired() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.LoginEvent.loginFidoPinRequired)
  if (event_case() == kLoginFidoPinRequired) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::LoginFidoPinRequired*>(_impl_.event_.loginfidopinrequired_);
    _impl_.event_.loginfidopinrequired_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void LoginEvent::unsafe_arena_set_allocated_loginfidopinrequired(
    ::grpc::LoginFidoPinRequired* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_loginfidopinrequired();
    _impl_.event_.loginfidopinrequired_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.LoginEvent.loginFidoPinRequired)
}
inline ::grpc::LoginFidoPinRequired* PROTOBUF_NONNULL LoginEvent::_internal_mutable_loginfidopinrequired() {
  if (event_case() != kLoginFidoPinRequired) {
    clear_event();
    set_has_loginfidopinrequired();
    _impl_.event_.loginfidopinrequired_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::LoginFidoPinRequired>(GetArena()));
  }
  return reinterpret_cast<::grpc::LoginFidoPinRequired*>(_impl_.event_.loginfidopinrequired_);
}
inline ::grpc::LoginFidoPinRequired* PROTOBUF_NONNULL LoginEvent::mutable_loginfidopinrequired()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::LoginFidoPinRequired* _msg = _internal_mutable_loginfidopinrequired();
  // @@protoc_insertion_point(field_mutable:grpc.LoginEvent.loginFidoPinRequired)
  return _msg;
}

inline bool LoginEvent::has_event() const {
  return event_case() != EVENT_NOT_SET;
}
inline void LoginEvent::clear_has_event() {
  _impl_._oneof_case_[0] = EVENT_NOT_SET;
}
inline LoginEvent::EventCase LoginEvent::event_case() const {
  return LoginEvent::EventCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// LoginErrorEvent

// .grpc.LoginErrorType type = 1;
inline void LoginErrorEvent::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::grpc::LoginErrorType LoginErrorEvent::type() const {
  // @@protoc_insertion_point(field_get:grpc.LoginErrorEvent.type)
  return _internal_type();
}
inline void LoginErrorEvent::set_type(::grpc::LoginErrorType value) {
  _internal_set_type(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:grpc.LoginErrorEvent.type)
}
inline ::grpc::LoginErrorType LoginErrorEvent::_internal_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::grpc::LoginErrorType>(_impl_.type_);
}
inline void LoginErrorEvent::_internal_set_type(::grpc::LoginErrorType value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = value;
}

// string message = 2;
inline void LoginErrorEvent::clear_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.message_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginErrorEvent::message() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginErrorEvent.message)
  return _internal_message();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginErrorEvent::set_message(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.message_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginErrorEvent.message)
}
inline ::std::string* PROTOBUF_NONNULL LoginErrorEvent::mutable_message()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:grpc.LoginErrorEvent.message)
  return _s;
}
inline const ::std::string& LoginErrorEvent::_internal_message() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.message_.Get();
}
inline void LoginErrorEvent::_internal_set_message(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.message_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginErrorEvent::_internal_mutable_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.message_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginErrorEvent::release_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginErrorEvent.message)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.message_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.message_.Set("", GetArena());
  }
  return released;
}
inline void LoginErrorEvent::set_allocated_message(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.message_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.message_.IsDefault()) {
    _impl_.message_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginErrorEvent.message)
}

// -------------------------------------------------------------------

// LoginTfaRequestedEvent

// string username = 1;
inline void LoginTfaRequestedEvent::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginTfaRequestedEvent::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginTfaRequestedEvent.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginTfaRequestedEvent::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginTfaRequestedEvent.username)
}
inline ::std::string* PROTOBUF_NONNULL LoginTfaRequestedEvent::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.LoginTfaRequestedEvent.username)
  return _s;
}
inline const ::std::string& LoginTfaRequestedEvent::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void LoginTfaRequestedEvent::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginTfaRequestedEvent::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginTfaRequestedEvent::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginTfaRequestedEvent.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void LoginTfaRequestedEvent::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginTfaRequestedEvent.username)
}

// -------------------------------------------------------------------

// LoginFidoRequestedEvent

// string username = 1;
inline void LoginFidoRequestedEvent::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginFidoRequestedEvent::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginFidoRequestedEvent.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginFidoRequestedEvent::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginFidoRequestedEvent.username)
}
inline ::std::string* PROTOBUF_NONNULL LoginFidoRequestedEvent::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.LoginFidoRequestedEvent.username)
  return _s;
}
inline const ::std::string& LoginFidoRequestedEvent::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void LoginFidoRequestedEvent::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginFidoRequestedEvent::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginFidoRequestedEvent::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginFidoRequestedEvent.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void LoginFidoRequestedEvent::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginFidoRequestedEvent.username)
}

// -------------------------------------------------------------------

// LoginTfaOrFidoRequestedEvent

// string username = 1;
inline void LoginTfaOrFidoRequestedEvent::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginTfaOrFidoRequestedEvent::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginTfaOrFidoRequestedEvent.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginTfaOrFidoRequestedEvent::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginTfaOrFidoRequestedEvent.username)
}
inline ::std::string* PROTOBUF_NONNULL LoginTfaOrFidoRequestedEvent::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.LoginTfaOrFidoRequestedEvent.username)
  return _s;
}
inline const ::std::string& LoginTfaOrFidoRequestedEvent::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void LoginTfaOrFidoRequestedEvent::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginTfaOrFidoRequestedEvent::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginTfaOrFidoRequestedEvent::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginTfaOrFidoRequestedEvent.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void LoginTfaOrFidoRequestedEvent::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginTfaOrFidoRequestedEvent.username)
}

// -------------------------------------------------------------------

// LoginFidoTouchEvent

// string username = 1;
inline void LoginFidoTouchEvent::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginFidoTouchEvent::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginFidoTouchEvent.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginFidoTouchEvent::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginFidoTouchEvent.username)
}
inline ::std::string* PROTOBUF_NONNULL LoginFidoTouchEvent::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.LoginFidoTouchEvent.username)
  return _s;
}
inline const ::std::string& LoginFidoTouchEvent::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void LoginFidoTouchEvent::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginFidoTouchEvent::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginFidoTouchEvent::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginFidoTouchEvent.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void LoginFidoTouchEvent::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginFidoTouchEvent.username)
}

// -------------------------------------------------------------------

// LoginFidoPinRequired

// string username = 1;
inline void LoginFidoPinRequired::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginFidoPinRequired::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginFidoPinRequired.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginFidoPinRequired::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginFidoPinRequired.username)
}
inline ::std::string* PROTOBUF_NONNULL LoginFidoPinRequired::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.LoginFidoPinRequired.username)
  return _s;
}
inline const ::std::string& LoginFidoPinRequired::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void LoginFidoPinRequired::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginFidoPinRequired::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginFidoPinRequired::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginFidoPinRequired.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void LoginFidoPinRequired::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginFidoPinRequired.username)
}

// -------------------------------------------------------------------

// LoginTwoPasswordsRequestedEvent

// string username = 1;
inline void LoginTwoPasswordsRequestedEvent::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginTwoPasswordsRequestedEvent::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginTwoPasswordsRequestedEvent.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginTwoPasswordsRequestedEvent::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginTwoPasswordsRequestedEvent.username)
}
inline ::std::string* PROTOBUF_NONNULL LoginTwoPasswordsRequestedEvent::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.LoginTwoPasswordsRequestedEvent.username)
  return _s;
}
inline const ::std::string& LoginTwoPasswordsRequestedEvent::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void LoginTwoPasswordsRequestedEvent::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginTwoPasswordsRequestedEvent::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginTwoPasswordsRequestedEvent::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginTwoPasswordsRequestedEvent.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void LoginTwoPasswordsRequestedEvent::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginTwoPasswordsRequestedEvent.username)
}

// -------------------------------------------------------------------

// LoginFinishedEvent

// string userID = 1;
inline void LoginFinishedEvent::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginFinishedEvent::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginFinishedEvent.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginFinishedEvent::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginFinishedEvent.userID)
}
inline ::std::string* PROTOBUF_NONNULL LoginFinishedEvent::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.LoginFinishedEvent.userID)
  return _s;
}
inline const ::std::string& LoginFinishedEvent::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void LoginFinishedEvent::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginFinishedEvent::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginFinishedEvent::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginFinishedEvent.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void LoginFinishedEvent::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginFinishedEvent.userID)
}

// bool wasSignedOut = 2;
inline void LoginFinishedEvent::clear_wassignedout() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.wassignedout_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline bool LoginFinishedEvent::wassignedout() const {
  // @@protoc_insertion_point(field_get:grpc.LoginFinishedEvent.wasSignedOut)
  return _internal_wassignedout();
}
inline void LoginFinishedEvent::set_wassignedout(bool value) {
  _internal_set_wassignedout(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:grpc.LoginFinishedEvent.wasSignedOut)
}
inline bool LoginFinishedEvent::_internal_wassignedout() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.wassignedout_;
}
inline void LoginFinishedEvent::_internal_set_wassignedout(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.wassignedout_ = value;
}

// -------------------------------------------------------------------

// LoginHvRequestedEvent

// string hvUrl = 1;
inline void LoginHvRequestedEvent::clear_hvurl() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hvurl_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& LoginHvRequestedEvent::hvurl() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.LoginHvRequestedEvent.hvUrl)
  return _internal_hvurl();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void LoginHvRequestedEvent::set_hvurl(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.hvurl_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.LoginHvRequestedEvent.hvUrl)
}
inline ::std::string* PROTOBUF_NONNULL LoginHvRequestedEvent::mutable_hvurl()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_hvurl();
  // @@protoc_insertion_point(field_mutable:grpc.LoginHvRequestedEvent.hvUrl)
  return _s;
}
inline const ::std::string& LoginHvRequestedEvent::_internal_hvurl() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.hvurl_.Get();
}
inline void LoginHvRequestedEvent::_internal_set_hvurl(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hvurl_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL LoginHvRequestedEvent::_internal_mutable_hvurl() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.hvurl_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE LoginHvRequestedEvent::release_hvurl() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.LoginHvRequestedEvent.hvUrl)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.hvurl_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.hvurl_.Set("", GetArena());
  }
  return released;
}
inline void LoginHvRequestedEvent::set_allocated_hvurl(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.hvurl_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.hvurl_.IsDefault()) {
    _impl_.hvurl_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.LoginHvRequestedEvent.hvUrl)
}

// -------------------------------------------------------------------

// UpdateEvent

// .grpc.UpdateErrorEvent error = 1;
inline bool UpdateEvent::has_error() const {
  return event_case() == kError;
}
inline bool UpdateEvent::_internal_has_error() const {
  return event_case() == kError;
}
inline void UpdateEvent::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void UpdateEvent::clear_error() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kError) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.error_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.error_);
    }
    clear_has_event();
  }
}
inline ::grpc::UpdateErrorEvent* PROTOBUF_NULLABLE UpdateEvent::release_error() {
  // @@protoc_insertion_point(field_release:grpc.UpdateEvent.error)
  if (event_case() == kError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateErrorEvent*>(_impl_.event_.error_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UpdateErrorEvent& UpdateEvent::_internal_error() const {
  return event_case() == kError ? static_cast<const ::grpc::UpdateErrorEvent&>(*reinterpret_cast<::grpc::UpdateErrorEvent*>(_impl_.event_.error_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UpdateErrorEvent>(&::grpc::UpdateErrorEvent_globals_);
}
inline const ::grpc::UpdateErrorEvent& UpdateEvent::error() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UpdateEvent.error)
  return _internal_error();
}
inline ::grpc::UpdateErrorEvent* PROTOBUF_NULLABLE UpdateEvent::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UpdateEvent.error)
  if (event_case() == kError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateErrorEvent*>(_impl_.event_.error_);
    _impl_.event_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UpdateEvent::unsafe_arena_set_allocated_error(
    ::grpc::UpdateErrorEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_error();
    _impl_.event_.error_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UpdateEvent.error)
}
inline ::grpc::UpdateErrorEvent* PROTOBUF_NONNULL UpdateEvent::_internal_mutable_error() {
  if (event_case() != kError) {
    clear_event();
    set_has_error();
    _impl_.event_.error_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UpdateErrorEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UpdateErrorEvent*>(_impl_.event_.error_);
}
inline ::grpc::UpdateErrorEvent* PROTOBUF_NONNULL UpdateEvent::mutable_error()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UpdateErrorEvent* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:grpc.UpdateEvent.error)
  return _msg;
}

// .grpc.UpdateManualReadyEvent manualReady = 2;
inline bool UpdateEvent::has_manualready() const {
  return event_case() == kManualReady;
}
inline bool UpdateEvent::_internal_has_manualready() const {
  return event_case() == kManualReady;
}
inline void UpdateEvent::set_has_manualready() {
  _impl_._oneof_case_[0] = kManualReady;
}
inline void UpdateEvent::clear_manualready() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kManualReady) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.manualready_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.manualready_);
    }
    clear_has_event();
  }
}
inline ::grpc::UpdateManualReadyEvent* PROTOBUF_NULLABLE UpdateEvent::release_manualready() {
  // @@protoc_insertion_point(field_release:grpc.UpdateEvent.manualReady)
  if (event_case() == kManualReady) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateManualReadyEvent*>(_impl_.event_.manualready_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.manualready_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UpdateManualReadyEvent& UpdateEvent::_internal_manualready() const {
  return event_case() == kManualReady ? static_cast<const ::grpc::UpdateManualReadyEvent&>(*reinterpret_cast<::grpc::UpdateManualReadyEvent*>(_impl_.event_.manualready_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UpdateManualReadyEvent>(&::grpc::UpdateManualReadyEvent_globals_);
}
inline const ::grpc::UpdateManualReadyEvent& UpdateEvent::manualready() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UpdateEvent.manualReady)
  return _internal_manualready();
}
inline ::grpc::UpdateManualReadyEvent* PROTOBUF_NULLABLE UpdateEvent::unsafe_arena_release_manualready() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UpdateEvent.manualReady)
  if (event_case() == kManualReady) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateManualReadyEvent*>(_impl_.event_.manualready_);
    _impl_.event_.manualready_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UpdateEvent::unsafe_arena_set_allocated_manualready(
    ::grpc::UpdateManualReadyEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_manualready();
    _impl_.event_.manualready_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UpdateEvent.manualReady)
}
inline ::grpc::UpdateManualReadyEvent* PROTOBUF_NONNULL UpdateEvent::_internal_mutable_manualready() {
  if (event_case() != kManualReady) {
    clear_event();
    set_has_manualready();
    _impl_.event_.manualready_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UpdateManualReadyEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UpdateManualReadyEvent*>(_impl_.event_.manualready_);
}
inline ::grpc::UpdateManualReadyEvent* PROTOBUF_NONNULL UpdateEvent::mutable_manualready()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UpdateManualReadyEvent* _msg = _internal_mutable_manualready();
  // @@protoc_insertion_point(field_mutable:grpc.UpdateEvent.manualReady)
  return _msg;
}

// .grpc.UpdateManualRestartNeededEvent manualRestartNeeded = 3;
inline bool UpdateEvent::has_manualrestartneeded() const {
  return event_case() == kManualRestartNeeded;
}
inline bool UpdateEvent::_internal_has_manualrestartneeded() const {
  return event_case() == kManualRestartNeeded;
}
inline void UpdateEvent::set_has_manualrestartneeded() {
  _impl_._oneof_case_[0] = kManualRestartNeeded;
}
inline void UpdateEvent::clear_manualrestartneeded() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kManualRestartNeeded) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.manualrestartneeded_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.manualrestartneeded_);
    }
    clear_has_event();
  }
}
inline ::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NULLABLE UpdateEvent::release_manualrestartneeded() {
  // @@protoc_insertion_point(field_release:grpc.UpdateEvent.manualRestartNeeded)
  if (event_case() == kManualRestartNeeded) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateManualRestartNeededEvent*>(_impl_.event_.manualrestartneeded_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.manualrestartneeded_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UpdateManualRestartNeededEvent& UpdateEvent::_internal_manualrestartneeded() const {
  return event_case() == kManualRestartNeeded ? static_cast<const ::grpc::UpdateManualRestartNeededEvent&>(*reinterpret_cast<::grpc::UpdateManualRestartNeededEvent*>(_impl_.event_.manualrestartneeded_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UpdateManualRestartNeededEvent>(&::grpc::UpdateManualRestartNeededEvent_globals_);
}
inline const ::grpc::UpdateManualRestartNeededEvent& UpdateEvent::manualrestartneeded() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UpdateEvent.manualRestartNeeded)
  return _internal_manualrestartneeded();
}
inline ::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NULLABLE UpdateEvent::unsafe_arena_release_manualrestartneeded() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UpdateEvent.manualRestartNeeded)
  if (event_case() == kManualRestartNeeded) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateManualRestartNeededEvent*>(_impl_.event_.manualrestartneeded_);
    _impl_.event_.manualrestartneeded_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UpdateEvent::unsafe_arena_set_allocated_manualrestartneeded(
    ::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_manualrestartneeded();
    _impl_.event_.manualrestartneeded_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UpdateEvent.manualRestartNeeded)
}
inline ::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NONNULL UpdateEvent::_internal_mutable_manualrestartneeded() {
  if (event_case() != kManualRestartNeeded) {
    clear_event();
    set_has_manualrestartneeded();
    _impl_.event_.manualrestartneeded_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UpdateManualRestartNeededEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UpdateManualRestartNeededEvent*>(_impl_.event_.manualrestartneeded_);
}
inline ::grpc::UpdateManualRestartNeededEvent* PROTOBUF_NONNULL UpdateEvent::mutable_manualrestartneeded()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UpdateManualRestartNeededEvent* _msg = _internal_mutable_manualrestartneeded();
  // @@protoc_insertion_point(field_mutable:grpc.UpdateEvent.manualRestartNeeded)
  return _msg;
}

// .grpc.UpdateForceEvent force = 4;
inline bool UpdateEvent::has_force() const {
  return event_case() == kForce;
}
inline bool UpdateEvent::_internal_has_force() const {
  return event_case() == kForce;
}
inline void UpdateEvent::set_has_force() {
  _impl_._oneof_case_[0] = kForce;
}
inline void UpdateEvent::clear_force() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kForce) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.force_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.force_);
    }
    clear_has_event();
  }
}
inline ::grpc::UpdateForceEvent* PROTOBUF_NULLABLE UpdateEvent::release_force() {
  // @@protoc_insertion_point(field_release:grpc.UpdateEvent.force)
  if (event_case() == kForce) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateForceEvent*>(_impl_.event_.force_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.force_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UpdateForceEvent& UpdateEvent::_internal_force() const {
  return event_case() == kForce ? static_cast<const ::grpc::UpdateForceEvent&>(*reinterpret_cast<::grpc::UpdateForceEvent*>(_impl_.event_.force_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UpdateForceEvent>(&::grpc::UpdateForceEvent_globals_);
}
inline const ::grpc::UpdateForceEvent& UpdateEvent::force() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UpdateEvent.force)
  return _internal_force();
}
inline ::grpc::UpdateForceEvent* PROTOBUF_NULLABLE UpdateEvent::unsafe_arena_release_force() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UpdateEvent.force)
  if (event_case() == kForce) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateForceEvent*>(_impl_.event_.force_);
    _impl_.event_.force_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UpdateEvent::unsafe_arena_set_allocated_force(
    ::grpc::UpdateForceEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_force();
    _impl_.event_.force_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UpdateEvent.force)
}
inline ::grpc::UpdateForceEvent* PROTOBUF_NONNULL UpdateEvent::_internal_mutable_force() {
  if (event_case() != kForce) {
    clear_event();
    set_has_force();
    _impl_.event_.force_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UpdateForceEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UpdateForceEvent*>(_impl_.event_.force_);
}
inline ::grpc::UpdateForceEvent* PROTOBUF_NONNULL UpdateEvent::mutable_force()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UpdateForceEvent* _msg = _internal_mutable_force();
  // @@protoc_insertion_point(field_mutable:grpc.UpdateEvent.force)
  return _msg;
}

// .grpc.UpdateSilentRestartNeeded silentRestartNeeded = 5;
inline bool UpdateEvent::has_silentrestartneeded() const {
  return event_case() == kSilentRestartNeeded;
}
inline bool UpdateEvent::_internal_has_silentrestartneeded() const {
  return event_case() == kSilentRestartNeeded;
}
inline void UpdateEvent::set_has_silentrestartneeded() {
  _impl_._oneof_case_[0] = kSilentRestartNeeded;
}
inline void UpdateEvent::clear_silentrestartneeded() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kSilentRestartNeeded) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.silentrestartneeded_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.silentrestartneeded_);
    }
    clear_has_event();
  }
}
inline ::grpc::UpdateSilentRestartNeeded* PROTOBUF_NULLABLE UpdateEvent::release_silentrestartneeded() {
  // @@protoc_insertion_point(field_release:grpc.UpdateEvent.silentRestartNeeded)
  if (event_case() == kSilentRestartNeeded) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateSilentRestartNeeded*>(_impl_.event_.silentrestartneeded_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.silentrestartneeded_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UpdateSilentRestartNeeded& UpdateEvent::_internal_silentrestartneeded() const {
  return event_case() == kSilentRestartNeeded ? static_cast<const ::grpc::UpdateSilentRestartNeeded&>(*reinterpret_cast<::grpc::UpdateSilentRestartNeeded*>(_impl_.event_.silentrestartneeded_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UpdateSilentRestartNeeded>(&::grpc::UpdateSilentRestartNeeded_globals_);
}
inline const ::grpc::UpdateSilentRestartNeeded& UpdateEvent::silentrestartneeded() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UpdateEvent.silentRestartNeeded)
  return _internal_silentrestartneeded();
}
inline ::grpc::UpdateSilentRestartNeeded* PROTOBUF_NULLABLE UpdateEvent::unsafe_arena_release_silentrestartneeded() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UpdateEvent.silentRestartNeeded)
  if (event_case() == kSilentRestartNeeded) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateSilentRestartNeeded*>(_impl_.event_.silentrestartneeded_);
    _impl_.event_.silentrestartneeded_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UpdateEvent::unsafe_arena_set_allocated_silentrestartneeded(
    ::grpc::UpdateSilentRestartNeeded* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_silentrestartneeded();
    _impl_.event_.silentrestartneeded_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UpdateEvent.silentRestartNeeded)
}
inline ::grpc::UpdateSilentRestartNeeded* PROTOBUF_NONNULL UpdateEvent::_internal_mutable_silentrestartneeded() {
  if (event_case() != kSilentRestartNeeded) {
    clear_event();
    set_has_silentrestartneeded();
    _impl_.event_.silentrestartneeded_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UpdateSilentRestartNeeded>(GetArena()));
  }
  return reinterpret_cast<::grpc::UpdateSilentRestartNeeded*>(_impl_.event_.silentrestartneeded_);
}
inline ::grpc::UpdateSilentRestartNeeded* PROTOBUF_NONNULL UpdateEvent::mutable_silentrestartneeded()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UpdateSilentRestartNeeded* _msg = _internal_mutable_silentrestartneeded();
  // @@protoc_insertion_point(field_mutable:grpc.UpdateEvent.silentRestartNeeded)
  return _msg;
}

// .grpc.UpdateIsLatestVersion isLatestVersion = 6;
inline bool UpdateEvent::has_islatestversion() const {
  return event_case() == kIsLatestVersion;
}
inline bool UpdateEvent::_internal_has_islatestversion() const {
  return event_case() == kIsLatestVersion;
}
inline void UpdateEvent::set_has_islatestversion() {
  _impl_._oneof_case_[0] = kIsLatestVersion;
}
inline void UpdateEvent::clear_islatestversion() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kIsLatestVersion) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.islatestversion_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.islatestversion_);
    }
    clear_has_event();
  }
}
inline ::grpc::UpdateIsLatestVersion* PROTOBUF_NULLABLE UpdateEvent::release_islatestversion() {
  // @@protoc_insertion_point(field_release:grpc.UpdateEvent.isLatestVersion)
  if (event_case() == kIsLatestVersion) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateIsLatestVersion*>(_impl_.event_.islatestversion_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.islatestversion_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UpdateIsLatestVersion& UpdateEvent::_internal_islatestversion() const {
  return event_case() == kIsLatestVersion ? static_cast<const ::grpc::UpdateIsLatestVersion&>(*reinterpret_cast<::grpc::UpdateIsLatestVersion*>(_impl_.event_.islatestversion_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UpdateIsLatestVersion>(&::grpc::UpdateIsLatestVersion_globals_);
}
inline const ::grpc::UpdateIsLatestVersion& UpdateEvent::islatestversion() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UpdateEvent.isLatestVersion)
  return _internal_islatestversion();
}
inline ::grpc::UpdateIsLatestVersion* PROTOBUF_NULLABLE UpdateEvent::unsafe_arena_release_islatestversion() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UpdateEvent.isLatestVersion)
  if (event_case() == kIsLatestVersion) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateIsLatestVersion*>(_impl_.event_.islatestversion_);
    _impl_.event_.islatestversion_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UpdateEvent::unsafe_arena_set_allocated_islatestversion(
    ::grpc::UpdateIsLatestVersion* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_islatestversion();
    _impl_.event_.islatestversion_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UpdateEvent.isLatestVersion)
}
inline ::grpc::UpdateIsLatestVersion* PROTOBUF_NONNULL UpdateEvent::_internal_mutable_islatestversion() {
  if (event_case() != kIsLatestVersion) {
    clear_event();
    set_has_islatestversion();
    _impl_.event_.islatestversion_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UpdateIsLatestVersion>(GetArena()));
  }
  return reinterpret_cast<::grpc::UpdateIsLatestVersion*>(_impl_.event_.islatestversion_);
}
inline ::grpc::UpdateIsLatestVersion* PROTOBUF_NONNULL UpdateEvent::mutable_islatestversion()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UpdateIsLatestVersion* _msg = _internal_mutable_islatestversion();
  // @@protoc_insertion_point(field_mutable:grpc.UpdateEvent.isLatestVersion)
  return _msg;
}

// .grpc.UpdateCheckFinished checkFinished = 7;
inline bool UpdateEvent::has_checkfinished() const {
  return event_case() == kCheckFinished;
}
inline bool UpdateEvent::_internal_has_checkfinished() const {
  return event_case() == kCheckFinished;
}
inline void UpdateEvent::set_has_checkfinished() {
  _impl_._oneof_case_[0] = kCheckFinished;
}
inline void UpdateEvent::clear_checkfinished() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kCheckFinished) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.checkfinished_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.checkfinished_);
    }
    clear_has_event();
  }
}
inline ::grpc::UpdateCheckFinished* PROTOBUF_NULLABLE UpdateEvent::release_checkfinished() {
  // @@protoc_insertion_point(field_release:grpc.UpdateEvent.checkFinished)
  if (event_case() == kCheckFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateCheckFinished*>(_impl_.event_.checkfinished_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.checkfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UpdateCheckFinished& UpdateEvent::_internal_checkfinished() const {
  return event_case() == kCheckFinished ? static_cast<const ::grpc::UpdateCheckFinished&>(*reinterpret_cast<::grpc::UpdateCheckFinished*>(_impl_.event_.checkfinished_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UpdateCheckFinished>(&::grpc::UpdateCheckFinished_globals_);
}
inline const ::grpc::UpdateCheckFinished& UpdateEvent::checkfinished() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UpdateEvent.checkFinished)
  return _internal_checkfinished();
}
inline ::grpc::UpdateCheckFinished* PROTOBUF_NULLABLE UpdateEvent::unsafe_arena_release_checkfinished() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UpdateEvent.checkFinished)
  if (event_case() == kCheckFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateCheckFinished*>(_impl_.event_.checkfinished_);
    _impl_.event_.checkfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UpdateEvent::unsafe_arena_set_allocated_checkfinished(
    ::grpc::UpdateCheckFinished* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_checkfinished();
    _impl_.event_.checkfinished_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UpdateEvent.checkFinished)
}
inline ::grpc::UpdateCheckFinished* PROTOBUF_NONNULL UpdateEvent::_internal_mutable_checkfinished() {
  if (event_case() != kCheckFinished) {
    clear_event();
    set_has_checkfinished();
    _impl_.event_.checkfinished_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UpdateCheckFinished>(GetArena()));
  }
  return reinterpret_cast<::grpc::UpdateCheckFinished*>(_impl_.event_.checkfinished_);
}
inline ::grpc::UpdateCheckFinished* PROTOBUF_NONNULL UpdateEvent::mutable_checkfinished()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UpdateCheckFinished* _msg = _internal_mutable_checkfinished();
  // @@protoc_insertion_point(field_mutable:grpc.UpdateEvent.checkFinished)
  return _msg;
}

// .grpc.UpdateVersionChanged versionChanged = 8;
inline bool UpdateEvent::has_versionchanged() const {
  return event_case() == kVersionChanged;
}
inline bool UpdateEvent::_internal_has_versionchanged() const {
  return event_case() == kVersionChanged;
}
inline void UpdateEvent::set_has_versionchanged() {
  _impl_._oneof_case_[0] = kVersionChanged;
}
inline void UpdateEvent::clear_versionchanged() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kVersionChanged) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.versionchanged_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.versionchanged_);
    }
    clear_has_event();
  }
}
inline ::grpc::UpdateVersionChanged* PROTOBUF_NULLABLE UpdateEvent::release_versionchanged() {
  // @@protoc_insertion_point(field_release:grpc.UpdateEvent.versionChanged)
  if (event_case() == kVersionChanged) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateVersionChanged*>(_impl_.event_.versionchanged_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.versionchanged_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UpdateVersionChanged& UpdateEvent::_internal_versionchanged() const {
  return event_case() == kVersionChanged ? static_cast<const ::grpc::UpdateVersionChanged&>(*reinterpret_cast<::grpc::UpdateVersionChanged*>(_impl_.event_.versionchanged_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UpdateVersionChanged>(&::grpc::UpdateVersionChanged_globals_);
}
inline const ::grpc::UpdateVersionChanged& UpdateEvent::versionchanged() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UpdateEvent.versionChanged)
  return _internal_versionchanged();
}
inline ::grpc::UpdateVersionChanged* PROTOBUF_NULLABLE UpdateEvent::unsafe_arena_release_versionchanged() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UpdateEvent.versionChanged)
  if (event_case() == kVersionChanged) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UpdateVersionChanged*>(_impl_.event_.versionchanged_);
    _impl_.event_.versionchanged_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UpdateEvent::unsafe_arena_set_allocated_versionchanged(
    ::grpc::UpdateVersionChanged* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_versionchanged();
    _impl_.event_.versionchanged_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UpdateEvent.versionChanged)
}
inline ::grpc::UpdateVersionChanged* PROTOBUF_NONNULL UpdateEvent::_internal_mutable_versionchanged() {
  if (event_case() != kVersionChanged) {
    clear_event();
    set_has_versionchanged();
    _impl_.event_.versionchanged_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UpdateVersionChanged>(GetArena()));
  }
  return reinterpret_cast<::grpc::UpdateVersionChanged*>(_impl_.event_.versionchanged_);
}
inline ::grpc::UpdateVersionChanged* PROTOBUF_NONNULL UpdateEvent::mutable_versionchanged()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UpdateVersionChanged* _msg = _internal_mutable_versionchanged();
  // @@protoc_insertion_point(field_mutable:grpc.UpdateEvent.versionChanged)
  return _msg;
}

inline bool UpdateEvent::has_event() const {
  return event_case() != EVENT_NOT_SET;
}
inline void UpdateEvent::clear_has_event() {
  _impl_._oneof_case_[0] = EVENT_NOT_SET;
}
inline UpdateEvent::EventCase UpdateEvent::event_case() const {
  return UpdateEvent::EventCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// UpdateErrorEvent

// .grpc.UpdateErrorType type = 1;
inline void UpdateErrorEvent::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::grpc::UpdateErrorType UpdateErrorEvent::type() const {
  // @@protoc_insertion_point(field_get:grpc.UpdateErrorEvent.type)
  return _internal_type();
}
inline void UpdateErrorEvent::set_type(::grpc::UpdateErrorType value) {
  _internal_set_type(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:grpc.UpdateErrorEvent.type)
}
inline ::grpc::UpdateErrorType UpdateErrorEvent::_internal_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::grpc::UpdateErrorType>(_impl_.type_);
}
inline void UpdateErrorEvent::_internal_set_type(::grpc::UpdateErrorType value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = value;
}

// -------------------------------------------------------------------

// UpdateManualReadyEvent

// string version = 1;
inline void UpdateManualReadyEvent::clear_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& UpdateManualReadyEvent::version() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UpdateManualReadyEvent.version)
  return _internal_version();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UpdateManualReadyEvent::set_version(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.version_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UpdateManualReadyEvent.version)
}
inline ::std::string* PROTOBUF_NONNULL UpdateManualReadyEvent::mutable_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:grpc.UpdateManualReadyEvent.version)
  return _s;
}
inline const ::std::string& UpdateManualReadyEvent::_internal_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.version_.Get();
}
inline void UpdateManualReadyEvent::_internal_set_version(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UpdateManualReadyEvent::_internal_mutable_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.version_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UpdateManualReadyEvent::release_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UpdateManualReadyEvent.version)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.version_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.version_.Set("", GetArena());
  }
  return released;
}
inline void UpdateManualReadyEvent::set_allocated_version(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.version_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UpdateManualReadyEvent.version)
}

// -------------------------------------------------------------------

// UpdateManualRestartNeededEvent

// -------------------------------------------------------------------

// UpdateForceEvent

// string version = 1;
inline void UpdateForceEvent::clear_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& UpdateForceEvent::version() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UpdateForceEvent.version)
  return _internal_version();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UpdateForceEvent::set_version(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.version_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UpdateForceEvent.version)
}
inline ::std::string* PROTOBUF_NONNULL UpdateForceEvent::mutable_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:grpc.UpdateForceEvent.version)
  return _s;
}
inline const ::std::string& UpdateForceEvent::_internal_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.version_.Get();
}
inline void UpdateForceEvent::_internal_set_version(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UpdateForceEvent::_internal_mutable_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.version_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UpdateForceEvent::release_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UpdateForceEvent.version)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.version_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.version_.Set("", GetArena());
  }
  return released;
}
inline void UpdateForceEvent::set_allocated_version(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.version_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UpdateForceEvent.version)
}

// -------------------------------------------------------------------

// UpdateSilentRestartNeeded

// -------------------------------------------------------------------

// UpdateIsLatestVersion

// -------------------------------------------------------------------

// UpdateCheckFinished

// -------------------------------------------------------------------

// UpdateVersionChanged

// -------------------------------------------------------------------

// DiskCacheEvent

// .grpc.DiskCacheErrorEvent error = 1;
inline bool DiskCacheEvent::has_error() const {
  return event_case() == kError;
}
inline bool DiskCacheEvent::_internal_has_error() const {
  return event_case() == kError;
}
inline void DiskCacheEvent::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void DiskCacheEvent::clear_error() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kError) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.error_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.error_);
    }
    clear_has_event();
  }
}
inline ::grpc::DiskCacheErrorEvent* PROTOBUF_NULLABLE DiskCacheEvent::release_error() {
  // @@protoc_insertion_point(field_release:grpc.DiskCacheEvent.error)
  if (event_case() == kError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::DiskCacheErrorEvent*>(_impl_.event_.error_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::DiskCacheErrorEvent& DiskCacheEvent::_internal_error() const {
  return event_case() == kError ? static_cast<const ::grpc::DiskCacheErrorEvent&>(*reinterpret_cast<::grpc::DiskCacheErrorEvent*>(_impl_.event_.error_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::DiskCacheErrorEvent>(&::grpc::DiskCacheErrorEvent_globals_);
}
inline const ::grpc::DiskCacheErrorEvent& DiskCacheEvent::error() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.DiskCacheEvent.error)
  return _internal_error();
}
inline ::grpc::DiskCacheErrorEvent* PROTOBUF_NULLABLE DiskCacheEvent::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.DiskCacheEvent.error)
  if (event_case() == kError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::DiskCacheErrorEvent*>(_impl_.event_.error_);
    _impl_.event_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void DiskCacheEvent::unsafe_arena_set_allocated_error(
    ::grpc::DiskCacheErrorEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_error();
    _impl_.event_.error_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.DiskCacheEvent.error)
}
inline ::grpc::DiskCacheErrorEvent* PROTOBUF_NONNULL DiskCacheEvent::_internal_mutable_error() {
  if (event_case() != kError) {
    clear_event();
    set_has_error();
    _impl_.event_.error_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::DiskCacheErrorEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::DiskCacheErrorEvent*>(_impl_.event_.error_);
}
inline ::grpc::DiskCacheErrorEvent* PROTOBUF_NONNULL DiskCacheEvent::mutable_error()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::DiskCacheErrorEvent* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:grpc.DiskCacheEvent.error)
  return _msg;
}

// .grpc.DiskCachePathChangedEvent pathChanged = 2;
inline bool DiskCacheEvent::has_pathchanged() const {
  return event_case() == kPathChanged;
}
inline bool DiskCacheEvent::_internal_has_pathchanged() const {
  return event_case() == kPathChanged;
}
inline void DiskCacheEvent::set_has_pathchanged() {
  _impl_._oneof_case_[0] = kPathChanged;
}
inline void DiskCacheEvent::clear_pathchanged() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kPathChanged) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.pathchanged_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.pathchanged_);
    }
    clear_has_event();
  }
}
inline ::grpc::DiskCachePathChangedEvent* PROTOBUF_NULLABLE DiskCacheEvent::release_pathchanged() {
  // @@protoc_insertion_point(field_release:grpc.DiskCacheEvent.pathChanged)
  if (event_case() == kPathChanged) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::DiskCachePathChangedEvent*>(_impl_.event_.pathchanged_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.pathchanged_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::DiskCachePathChangedEvent& DiskCacheEvent::_internal_pathchanged() const {
  return event_case() == kPathChanged ? static_cast<const ::grpc::DiskCachePathChangedEvent&>(*reinterpret_cast<::grpc::DiskCachePathChangedEvent*>(_impl_.event_.pathchanged_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::DiskCachePathChangedEvent>(&::grpc::DiskCachePathChangedEvent_globals_);
}
inline const ::grpc::DiskCachePathChangedEvent& DiskCacheEvent::pathchanged() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.DiskCacheEvent.pathChanged)
  return _internal_pathchanged();
}
inline ::grpc::DiskCachePathChangedEvent* PROTOBUF_NULLABLE DiskCacheEvent::unsafe_arena_release_pathchanged() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.DiskCacheEvent.pathChanged)
  if (event_case() == kPathChanged) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::DiskCachePathChangedEvent*>(_impl_.event_.pathchanged_);
    _impl_.event_.pathchanged_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void DiskCacheEvent::unsafe_arena_set_allocated_pathchanged(
    ::grpc::DiskCachePathChangedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_pathchanged();
    _impl_.event_.pathchanged_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.DiskCacheEvent.pathChanged)
}
inline ::grpc::DiskCachePathChangedEvent* PROTOBUF_NONNULL DiskCacheEvent::_internal_mutable_pathchanged() {
  if (event_case() != kPathChanged) {
    clear_event();
    set_has_pathchanged();
    _impl_.event_.pathchanged_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::DiskCachePathChangedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::DiskCachePathChangedEvent*>(_impl_.event_.pathchanged_);
}
inline ::grpc::DiskCachePathChangedEvent* PROTOBUF_NONNULL DiskCacheEvent::mutable_pathchanged()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::DiskCachePathChangedEvent* _msg = _internal_mutable_pathchanged();
  // @@protoc_insertion_point(field_mutable:grpc.DiskCacheEvent.pathChanged)
  return _msg;
}

// .grpc.DiskCachePathChangeFinishedEvent pathChangeFinished = 3;
inline bool DiskCacheEvent::has_pathchangefinished() const {
  return event_case() == kPathChangeFinished;
}
inline bool DiskCacheEvent::_internal_has_pathchangefinished() const {
  return event_case() == kPathChangeFinished;
}
inline void DiskCacheEvent::set_has_pathchangefinished() {
  _impl_._oneof_case_[0] = kPathChangeFinished;
}
inline void DiskCacheEvent::clear_pathchangefinished() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kPathChangeFinished) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.pathchangefinished_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.pathchangefinished_);
    }
    clear_has_event();
  }
}
inline ::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NULLABLE DiskCacheEvent::release_pathchangefinished() {
  // @@protoc_insertion_point(field_release:grpc.DiskCacheEvent.pathChangeFinished)
  if (event_case() == kPathChangeFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::DiskCachePathChangeFinishedEvent*>(_impl_.event_.pathchangefinished_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.pathchangefinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::DiskCachePathChangeFinishedEvent& DiskCacheEvent::_internal_pathchangefinished() const {
  return event_case() == kPathChangeFinished ? static_cast<const ::grpc::DiskCachePathChangeFinishedEvent&>(*reinterpret_cast<::grpc::DiskCachePathChangeFinishedEvent*>(_impl_.event_.pathchangefinished_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::DiskCachePathChangeFinishedEvent>(&::grpc::DiskCachePathChangeFinishedEvent_globals_);
}
inline const ::grpc::DiskCachePathChangeFinishedEvent& DiskCacheEvent::pathchangefinished() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.DiskCacheEvent.pathChangeFinished)
  return _internal_pathchangefinished();
}
inline ::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NULLABLE DiskCacheEvent::unsafe_arena_release_pathchangefinished() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.DiskCacheEvent.pathChangeFinished)
  if (event_case() == kPathChangeFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::DiskCachePathChangeFinishedEvent*>(_impl_.event_.pathchangefinished_);
    _impl_.event_.pathchangefinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void DiskCacheEvent::unsafe_arena_set_allocated_pathchangefinished(
    ::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_pathchangefinished();
    _impl_.event_.pathchangefinished_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.DiskCacheEvent.pathChangeFinished)
}
inline ::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NONNULL DiskCacheEvent::_internal_mutable_pathchangefinished() {
  if (event_case() != kPathChangeFinished) {
    clear_event();
    set_has_pathchangefinished();
    _impl_.event_.pathchangefinished_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::DiskCachePathChangeFinishedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::DiskCachePathChangeFinishedEvent*>(_impl_.event_.pathchangefinished_);
}
inline ::grpc::DiskCachePathChangeFinishedEvent* PROTOBUF_NONNULL DiskCacheEvent::mutable_pathchangefinished()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::DiskCachePathChangeFinishedEvent* _msg = _internal_mutable_pathchangefinished();
  // @@protoc_insertion_point(field_mutable:grpc.DiskCacheEvent.pathChangeFinished)
  return _msg;
}

inline bool DiskCacheEvent::has_event() const {
  return event_case() != EVENT_NOT_SET;
}
inline void DiskCacheEvent::clear_has_event() {
  _impl_._oneof_case_[0] = EVENT_NOT_SET;
}
inline DiskCacheEvent::EventCase DiskCacheEvent::event_case() const {
  return DiskCacheEvent::EventCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// DiskCacheErrorEvent

// .grpc.DiskCacheErrorType type = 1;
inline void DiskCacheErrorEvent::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::grpc::DiskCacheErrorType DiskCacheErrorEvent::type() const {
  // @@protoc_insertion_point(field_get:grpc.DiskCacheErrorEvent.type)
  return _internal_type();
}
inline void DiskCacheErrorEvent::set_type(::grpc::DiskCacheErrorType value) {
  _internal_set_type(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:grpc.DiskCacheErrorEvent.type)
}
inline ::grpc::DiskCacheErrorType DiskCacheErrorEvent::_internal_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::grpc::DiskCacheErrorType>(_impl_.type_);
}
inline void DiskCacheErrorEvent::_internal_set_type(::grpc::DiskCacheErrorType value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = value;
}

// -------------------------------------------------------------------

// DiskCachePathChangedEvent

// string path = 1;
inline void DiskCachePathChangedEvent::clear_path() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.path_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& DiskCachePathChangedEvent::path() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.DiskCachePathChangedEvent.path)
  return _internal_path();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void DiskCachePathChangedEvent::set_path(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.path_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.DiskCachePathChangedEvent.path)
}
inline ::std::string* PROTOBUF_NONNULL DiskCachePathChangedEvent::mutable_path()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_path();
  // @@protoc_insertion_point(field_mutable:grpc.DiskCachePathChangedEvent.path)
  return _s;
}
inline const ::std::string& DiskCachePathChangedEvent::_internal_path() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.path_.Get();
}
inline void DiskCachePathChangedEvent::_internal_set_path(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.path_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL DiskCachePathChangedEvent::_internal_mutable_path() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.path_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE DiskCachePathChangedEvent::release_path() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.DiskCachePathChangedEvent.path)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.path_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.path_.Set("", GetArena());
  }
  return released;
}
inline void DiskCachePathChangedEvent::set_allocated_path(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.path_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.path_.IsDefault()) {
    _impl_.path_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.DiskCachePathChangedEvent.path)
}

// -------------------------------------------------------------------

// DiskCachePathChangeFinishedEvent

// -------------------------------------------------------------------

// MailServerSettingsEvent

// .grpc.MailServerSettingsErrorEvent error = 1;
inline bool MailServerSettingsEvent::has_error() const {
  return event_case() == kError;
}
inline bool MailServerSettingsEvent::_internal_has_error() const {
  return event_case() == kError;
}
inline void MailServerSettingsEvent::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void MailServerSettingsEvent::clear_error() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kError) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.error_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.error_);
    }
    clear_has_event();
  }
}
inline ::grpc::MailServerSettingsErrorEvent* PROTOBUF_NULLABLE MailServerSettingsEvent::release_error() {
  // @@protoc_insertion_point(field_release:grpc.MailServerSettingsEvent.error)
  if (event_case() == kError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::MailServerSettingsErrorEvent*>(_impl_.event_.error_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::MailServerSettingsErrorEvent& MailServerSettingsEvent::_internal_error() const {
  return event_case() == kError ? static_cast<const ::grpc::MailServerSettingsErrorEvent&>(*reinterpret_cast<::grpc::MailServerSettingsErrorEvent*>(_impl_.event_.error_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::MailServerSettingsErrorEvent>(&::grpc::MailServerSettingsErrorEvent_globals_);
}
inline const ::grpc::MailServerSettingsErrorEvent& MailServerSettingsEvent::error() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.MailServerSettingsEvent.error)
  return _internal_error();
}
inline ::grpc::MailServerSettingsErrorEvent* PROTOBUF_NULLABLE MailServerSettingsEvent::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.MailServerSettingsEvent.error)
  if (event_case() == kError) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::MailServerSettingsErrorEvent*>(_impl_.event_.error_);
    _impl_.event_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void MailServerSettingsEvent::unsafe_arena_set_allocated_error(
    ::grpc::MailServerSettingsErrorEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_error();
    _impl_.event_.error_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.MailServerSettingsEvent.error)
}
inline ::grpc::MailServerSettingsErrorEvent* PROTOBUF_NONNULL MailServerSettingsEvent::_internal_mutable_error() {
  if (event_case() != kError) {
    clear_event();
    set_has_error();
    _impl_.event_.error_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::MailServerSettingsErrorEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::MailServerSettingsErrorEvent*>(_impl_.event_.error_);
}
inline ::grpc::MailServerSettingsErrorEvent* PROTOBUF_NONNULL MailServerSettingsEvent::mutable_error()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::MailServerSettingsErrorEvent* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:grpc.MailServerSettingsEvent.error)
  return _msg;
}

// .grpc.MailServerSettingsChangedEvent mailServerSettingsChanged = 2;
inline bool MailServerSettingsEvent::has_mailserversettingschanged() const {
  return event_case() == kMailServerSettingsChanged;
}
inline bool MailServerSettingsEvent::_internal_has_mailserversettingschanged() const {
  return event_case() == kMailServerSettingsChanged;
}
inline void MailServerSettingsEvent::set_has_mailserversettingschanged() {
  _impl_._oneof_case_[0] = kMailServerSettingsChanged;
}
inline void MailServerSettingsEvent::clear_mailserversettingschanged() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kMailServerSettingsChanged) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.mailserversettingschanged_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.mailserversettingschanged_);
    }
    clear_has_event();
  }
}
inline ::grpc::MailServerSettingsChangedEvent* PROTOBUF_NULLABLE MailServerSettingsEvent::release_mailserversettingschanged() {
  // @@protoc_insertion_point(field_release:grpc.MailServerSettingsEvent.mailServerSettingsChanged)
  if (event_case() == kMailServerSettingsChanged) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::MailServerSettingsChangedEvent*>(_impl_.event_.mailserversettingschanged_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.mailserversettingschanged_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::MailServerSettingsChangedEvent& MailServerSettingsEvent::_internal_mailserversettingschanged() const {
  return event_case() == kMailServerSettingsChanged ? static_cast<const ::grpc::MailServerSettingsChangedEvent&>(*reinterpret_cast<::grpc::MailServerSettingsChangedEvent*>(_impl_.event_.mailserversettingschanged_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::MailServerSettingsChangedEvent>(&::grpc::MailServerSettingsChangedEvent_globals_);
}
inline const ::grpc::MailServerSettingsChangedEvent& MailServerSettingsEvent::mailserversettingschanged() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.MailServerSettingsEvent.mailServerSettingsChanged)
  return _internal_mailserversettingschanged();
}
inline ::grpc::MailServerSettingsChangedEvent* PROTOBUF_NULLABLE MailServerSettingsEvent::unsafe_arena_release_mailserversettingschanged() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.MailServerSettingsEvent.mailServerSettingsChanged)
  if (event_case() == kMailServerSettingsChanged) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::MailServerSettingsChangedEvent*>(_impl_.event_.mailserversettingschanged_);
    _impl_.event_.mailserversettingschanged_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void MailServerSettingsEvent::unsafe_arena_set_allocated_mailserversettingschanged(
    ::grpc::MailServerSettingsChangedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_mailserversettingschanged();
    _impl_.event_.mailserversettingschanged_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.MailServerSettingsEvent.mailServerSettingsChanged)
}
inline ::grpc::MailServerSettingsChangedEvent* PROTOBUF_NONNULL MailServerSettingsEvent::_internal_mutable_mailserversettingschanged() {
  if (event_case() != kMailServerSettingsChanged) {
    clear_event();
    set_has_mailserversettingschanged();
    _impl_.event_.mailserversettingschanged_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::MailServerSettingsChangedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::MailServerSettingsChangedEvent*>(_impl_.event_.mailserversettingschanged_);
}
inline ::grpc::MailServerSettingsChangedEvent* PROTOBUF_NONNULL MailServerSettingsEvent::mutable_mailserversettingschanged()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::MailServerSettingsChangedEvent* _msg = _internal_mutable_mailserversettingschanged();
  // @@protoc_insertion_point(field_mutable:grpc.MailServerSettingsEvent.mailServerSettingsChanged)
  return _msg;
}

// .grpc.ChangeMailServerSettingsFinishedEvent changeMailServerSettingsFinished = 3;
inline bool MailServerSettingsEvent::has_changemailserversettingsfinished() const {
  return event_case() == kChangeMailServerSettingsFinished;
}
inline bool MailServerSettingsEvent::_internal_has_changemailserversettingsfinished() const {
  return event_case() == kChangeMailServerSettingsFinished;
}
inline void MailServerSettingsEvent::set_has_changemailserversettingsfinished() {
  _impl_._oneof_case_[0] = kChangeMailServerSettingsFinished;
}
inline void MailServerSettingsEvent::clear_changemailserversettingsfinished() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kChangeMailServerSettingsFinished) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.changemailserversettingsfinished_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.changemailserversettingsfinished_);
    }
    clear_has_event();
  }
}
inline ::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NULLABLE MailServerSettingsEvent::release_changemailserversettingsfinished() {
  // @@protoc_insertion_point(field_release:grpc.MailServerSettingsEvent.changeMailServerSettingsFinished)
  if (event_case() == kChangeMailServerSettingsFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ChangeMailServerSettingsFinishedEvent*>(_impl_.event_.changemailserversettingsfinished_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.changemailserversettingsfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ChangeMailServerSettingsFinishedEvent& MailServerSettingsEvent::_internal_changemailserversettingsfinished() const {
  return event_case() == kChangeMailServerSettingsFinished ? static_cast<const ::grpc::ChangeMailServerSettingsFinishedEvent&>(*reinterpret_cast<::grpc::ChangeMailServerSettingsFinishedEvent*>(_impl_.event_.changemailserversettingsfinished_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ChangeMailServerSettingsFinishedEvent>(&::grpc::ChangeMailServerSettingsFinishedEvent_globals_);
}
inline const ::grpc::ChangeMailServerSettingsFinishedEvent& MailServerSettingsEvent::changemailserversettingsfinished() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.MailServerSettingsEvent.changeMailServerSettingsFinished)
  return _internal_changemailserversettingsfinished();
}
inline ::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NULLABLE MailServerSettingsEvent::unsafe_arena_release_changemailserversettingsfinished() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.MailServerSettingsEvent.changeMailServerSettingsFinished)
  if (event_case() == kChangeMailServerSettingsFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ChangeMailServerSettingsFinishedEvent*>(_impl_.event_.changemailserversettingsfinished_);
    _impl_.event_.changemailserversettingsfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void MailServerSettingsEvent::unsafe_arena_set_allocated_changemailserversettingsfinished(
    ::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_changemailserversettingsfinished();
    _impl_.event_.changemailserversettingsfinished_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.MailServerSettingsEvent.changeMailServerSettingsFinished)
}
inline ::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NONNULL MailServerSettingsEvent::_internal_mutable_changemailserversettingsfinished() {
  if (event_case() != kChangeMailServerSettingsFinished) {
    clear_event();
    set_has_changemailserversettingsfinished();
    _impl_.event_.changemailserversettingsfinished_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ChangeMailServerSettingsFinishedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ChangeMailServerSettingsFinishedEvent*>(_impl_.event_.changemailserversettingsfinished_);
}
inline ::grpc::ChangeMailServerSettingsFinishedEvent* PROTOBUF_NONNULL MailServerSettingsEvent::mutable_changemailserversettingsfinished()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ChangeMailServerSettingsFinishedEvent* _msg = _internal_mutable_changemailserversettingsfinished();
  // @@protoc_insertion_point(field_mutable:grpc.MailServerSettingsEvent.changeMailServerSettingsFinished)
  return _msg;
}

inline bool MailServerSettingsEvent::has_event() const {
  return event_case() != EVENT_NOT_SET;
}
inline void MailServerSettingsEvent::clear_has_event() {
  _impl_._oneof_case_[0] = EVENT_NOT_SET;
}
inline MailServerSettingsEvent::EventCase MailServerSettingsEvent::event_case() const {
  return MailServerSettingsEvent::EventCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// MailServerSettingsErrorEvent

// .grpc.MailServerSettingsErrorType type = 1;
inline void MailServerSettingsErrorEvent::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::grpc::MailServerSettingsErrorType MailServerSettingsErrorEvent::type() const {
  // @@protoc_insertion_point(field_get:grpc.MailServerSettingsErrorEvent.type)
  return _internal_type();
}
inline void MailServerSettingsErrorEvent::set_type(::grpc::MailServerSettingsErrorType value) {
  _internal_set_type(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:grpc.MailServerSettingsErrorEvent.type)
}
inline ::grpc::MailServerSettingsErrorType MailServerSettingsErrorEvent::_internal_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::grpc::MailServerSettingsErrorType>(_impl_.type_);
}
inline void MailServerSettingsErrorEvent::_internal_set_type(::grpc::MailServerSettingsErrorType value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = value;
}

// -------------------------------------------------------------------

// MailServerSettingsChangedEvent

// .grpc.ImapSmtpSettings settings = 1;
inline bool MailServerSettingsChangedEvent::has_settings() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.settings_ != nullptr);
  return value;
}
inline void MailServerSettingsChangedEvent::clear_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.settings_ != nullptr) _impl_.settings_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::grpc::ImapSmtpSettings& MailServerSettingsChangedEvent::_internal_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::ImapSmtpSettings* p = _impl_.settings_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ImapSmtpSettings>(&::grpc::ImapSmtpSettings_globals_);
}
inline const ::grpc::ImapSmtpSettings& MailServerSettingsChangedEvent::settings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.MailServerSettingsChangedEvent.settings)
  return _internal_settings();
}
inline void MailServerSettingsChangedEvent::unsafe_arena_set_allocated_settings(
    ::grpc::ImapSmtpSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.settings_);
  }
  _impl_.settings_ = reinterpret_cast<::grpc::ImapSmtpSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.MailServerSettingsChangedEvent.settings)
}
inline ::grpc::ImapSmtpSettings* PROTOBUF_NULLABLE MailServerSettingsChangedEvent::release_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::grpc::ImapSmtpSettings* released = _impl_.settings_;
  _impl_.settings_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::grpc::ImapSmtpSettings* PROTOBUF_NULLABLE MailServerSettingsChangedEvent::unsafe_arena_release_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.MailServerSettingsChangedEvent.settings)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::grpc::ImapSmtpSettings* temp = _impl_.settings_;
  _impl_.settings_ = nullptr;
  return temp;
}
inline ::grpc::ImapSmtpSettings* PROTOBUF_NONNULL MailServerSettingsChangedEvent::_internal_mutable_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.settings_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::ImapSmtpSettings>(GetArena());
    _impl_.settings_ = reinterpret_cast<::grpc::ImapSmtpSettings*>(p);
  }
  return _impl_.settings_;
}
inline ::grpc::ImapSmtpSettings* PROTOBUF_NONNULL MailServerSettingsChangedEvent::mutable_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::grpc::ImapSmtpSettings* _msg = _internal_mutable_settings();
  // @@protoc_insertion_point(field_mutable:grpc.MailServerSettingsChangedEvent.settings)
  return _msg;
}
inline void MailServerSettingsChangedEvent::set_allocated_settings(::grpc::ImapSmtpSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.settings_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.settings_ = reinterpret_cast<::grpc::ImapSmtpSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.MailServerSettingsChangedEvent.settings)
}

// -------------------------------------------------------------------

// ChangeMailServerSettingsFinishedEvent

// -------------------------------------------------------------------

// KeychainEvent

// .grpc.ChangeKeychainFinishedEvent changeKeychainFinished = 1;
inline bool KeychainEvent::has_changekeychainfinished() const {
  return event_case() == kChangeKeychainFinished;
}
inline bool KeychainEvent::_internal_has_changekeychainfinished() const {
  return event_case() == kChangeKeychainFinished;
}
inline void KeychainEvent::set_has_changekeychainfinished() {
  _impl_._oneof_case_[0] = kChangeKeychainFinished;
}
inline void KeychainEvent::clear_changekeychainfinished() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kChangeKeychainFinished) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.changekeychainfinished_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.changekeychainfinished_);
    }
    clear_has_event();
  }
}
inline ::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NULLABLE KeychainEvent::release_changekeychainfinished() {
  // @@protoc_insertion_point(field_release:grpc.KeychainEvent.changeKeychainFinished)
  if (event_case() == kChangeKeychainFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ChangeKeychainFinishedEvent*>(_impl_.event_.changekeychainfinished_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.changekeychainfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ChangeKeychainFinishedEvent& KeychainEvent::_internal_changekeychainfinished() const {
  return event_case() == kChangeKeychainFinished ? static_cast<const ::grpc::ChangeKeychainFinishedEvent&>(*reinterpret_cast<::grpc::ChangeKeychainFinishedEvent*>(_impl_.event_.changekeychainfinished_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ChangeKeychainFinishedEvent>(&::grpc::ChangeKeychainFinishedEvent_globals_);
}
inline const ::grpc::ChangeKeychainFinishedEvent& KeychainEvent::changekeychainfinished() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.KeychainEvent.changeKeychainFinished)
  return _internal_changekeychainfinished();
}
inline ::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NULLABLE KeychainEvent::unsafe_arena_release_changekeychainfinished() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.KeychainEvent.changeKeychainFinished)
  if (event_case() == kChangeKeychainFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ChangeKeychainFinishedEvent*>(_impl_.event_.changekeychainfinished_);
    _impl_.event_.changekeychainfinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void KeychainEvent::unsafe_arena_set_allocated_changekeychainfinished(
    ::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_changekeychainfinished();
    _impl_.event_.changekeychainfinished_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.KeychainEvent.changeKeychainFinished)
}
inline ::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NONNULL KeychainEvent::_internal_mutable_changekeychainfinished() {
  if (event_case() != kChangeKeychainFinished) {
    clear_event();
    set_has_changekeychainfinished();
    _impl_.event_.changekeychainfinished_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ChangeKeychainFinishedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ChangeKeychainFinishedEvent*>(_impl_.event_.changekeychainfinished_);
}
inline ::grpc::ChangeKeychainFinishedEvent* PROTOBUF_NONNULL KeychainEvent::mutable_changekeychainfinished()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ChangeKeychainFinishedEvent* _msg = _internal_mutable_changekeychainfinished();
  // @@protoc_insertion_point(field_mutable:grpc.KeychainEvent.changeKeychainFinished)
  return _msg;
}

// .grpc.HasNoKeychainEvent hasNoKeychain = 2;
inline bool KeychainEvent::has_hasnokeychain() const {
  return event_case() == kHasNoKeychain;
}
inline bool KeychainEvent::_internal_has_hasnokeychain() const {
  return event_case() == kHasNoKeychain;
}
inline void KeychainEvent::set_has_hasnokeychain() {
  _impl_._oneof_case_[0] = kHasNoKeychain;
}
inline void KeychainEvent::clear_hasnokeychain() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kHasNoKeychain) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.hasnokeychain_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.hasnokeychain_);
    }
    clear_has_event();
  }
}
inline ::grpc::HasNoKeychainEvent* PROTOBUF_NULLABLE KeychainEvent::release_hasnokeychain() {
  // @@protoc_insertion_point(field_release:grpc.KeychainEvent.hasNoKeychain)
  if (event_case() == kHasNoKeychain) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::HasNoKeychainEvent*>(_impl_.event_.hasnokeychain_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.hasnokeychain_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::HasNoKeychainEvent& KeychainEvent::_internal_hasnokeychain() const {
  return event_case() == kHasNoKeychain ? static_cast<const ::grpc::HasNoKeychainEvent&>(*reinterpret_cast<::grpc::HasNoKeychainEvent*>(_impl_.event_.hasnokeychain_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::HasNoKeychainEvent>(&::grpc::HasNoKeychainEvent_globals_);
}
inline const ::grpc::HasNoKeychainEvent& KeychainEvent::hasnokeychain() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.KeychainEvent.hasNoKeychain)
  return _internal_hasnokeychain();
}
inline ::grpc::HasNoKeychainEvent* PROTOBUF_NULLABLE KeychainEvent::unsafe_arena_release_hasnokeychain() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.KeychainEvent.hasNoKeychain)
  if (event_case() == kHasNoKeychain) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::HasNoKeychainEvent*>(_impl_.event_.hasnokeychain_);
    _impl_.event_.hasnokeychain_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void KeychainEvent::unsafe_arena_set_allocated_hasnokeychain(
    ::grpc::HasNoKeychainEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_hasnokeychain();
    _impl_.event_.hasnokeychain_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.KeychainEvent.hasNoKeychain)
}
inline ::grpc::HasNoKeychainEvent* PROTOBUF_NONNULL KeychainEvent::_internal_mutable_hasnokeychain() {
  if (event_case() != kHasNoKeychain) {
    clear_event();
    set_has_hasnokeychain();
    _impl_.event_.hasnokeychain_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::HasNoKeychainEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::HasNoKeychainEvent*>(_impl_.event_.hasnokeychain_);
}
inline ::grpc::HasNoKeychainEvent* PROTOBUF_NONNULL KeychainEvent::mutable_hasnokeychain()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::HasNoKeychainEvent* _msg = _internal_mutable_hasnokeychain();
  // @@protoc_insertion_point(field_mutable:grpc.KeychainEvent.hasNoKeychain)
  return _msg;
}

// .grpc.RebuildKeychainEvent rebuildKeychain = 3;
inline bool KeychainEvent::has_rebuildkeychain() const {
  return event_case() == kRebuildKeychain;
}
inline bool KeychainEvent::_internal_has_rebuildkeychain() const {
  return event_case() == kRebuildKeychain;
}
inline void KeychainEvent::set_has_rebuildkeychain() {
  _impl_._oneof_case_[0] = kRebuildKeychain;
}
inline void KeychainEvent::clear_rebuildkeychain() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kRebuildKeychain) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.rebuildkeychain_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.rebuildkeychain_);
    }
    clear_has_event();
  }
}
inline ::grpc::RebuildKeychainEvent* PROTOBUF_NULLABLE KeychainEvent::release_rebuildkeychain() {
  // @@protoc_insertion_point(field_release:grpc.KeychainEvent.rebuildKeychain)
  if (event_case() == kRebuildKeychain) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::RebuildKeychainEvent*>(_impl_.event_.rebuildkeychain_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.rebuildkeychain_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::RebuildKeychainEvent& KeychainEvent::_internal_rebuildkeychain() const {
  return event_case() == kRebuildKeychain ? static_cast<const ::grpc::RebuildKeychainEvent&>(*reinterpret_cast<::grpc::RebuildKeychainEvent*>(_impl_.event_.rebuildkeychain_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::RebuildKeychainEvent>(&::grpc::RebuildKeychainEvent_globals_);
}
inline const ::grpc::RebuildKeychainEvent& KeychainEvent::rebuildkeychain() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.KeychainEvent.rebuildKeychain)
  return _internal_rebuildkeychain();
}
inline ::grpc::RebuildKeychainEvent* PROTOBUF_NULLABLE KeychainEvent::unsafe_arena_release_rebuildkeychain() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.KeychainEvent.rebuildKeychain)
  if (event_case() == kRebuildKeychain) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::RebuildKeychainEvent*>(_impl_.event_.rebuildkeychain_);
    _impl_.event_.rebuildkeychain_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void KeychainEvent::unsafe_arena_set_allocated_rebuildkeychain(
    ::grpc::RebuildKeychainEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_rebuildkeychain();
    _impl_.event_.rebuildkeychain_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.KeychainEvent.rebuildKeychain)
}
inline ::grpc::RebuildKeychainEvent* PROTOBUF_NONNULL KeychainEvent::_internal_mutable_rebuildkeychain() {
  if (event_case() != kRebuildKeychain) {
    clear_event();
    set_has_rebuildkeychain();
    _impl_.event_.rebuildkeychain_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::RebuildKeychainEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::RebuildKeychainEvent*>(_impl_.event_.rebuildkeychain_);
}
inline ::grpc::RebuildKeychainEvent* PROTOBUF_NONNULL KeychainEvent::mutable_rebuildkeychain()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::RebuildKeychainEvent* _msg = _internal_mutable_rebuildkeychain();
  // @@protoc_insertion_point(field_mutable:grpc.KeychainEvent.rebuildKeychain)
  return _msg;
}

inline bool KeychainEvent::has_event() const {
  return event_case() != EVENT_NOT_SET;
}
inline void KeychainEvent::clear_has_event() {
  _impl_._oneof_case_[0] = EVENT_NOT_SET;
}
inline KeychainEvent::EventCase KeychainEvent::event_case() const {
  return KeychainEvent::EventCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// ChangeKeychainFinishedEvent

// -------------------------------------------------------------------

// HasNoKeychainEvent

// -------------------------------------------------------------------

// RebuildKeychainEvent

// -------------------------------------------------------------------

// MailEvent

// .grpc.AddressChangedEvent addressChanged = 1;
inline bool MailEvent::has_addresschanged() const {
  return event_case() == kAddressChanged;
}
inline bool MailEvent::_internal_has_addresschanged() const {
  return event_case() == kAddressChanged;
}
inline void MailEvent::set_has_addresschanged() {
  _impl_._oneof_case_[0] = kAddressChanged;
}
inline void MailEvent::clear_addresschanged() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kAddressChanged) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.addresschanged_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.addresschanged_);
    }
    clear_has_event();
  }
}
inline ::grpc::AddressChangedEvent* PROTOBUF_NULLABLE MailEvent::release_addresschanged() {
  // @@protoc_insertion_point(field_release:grpc.MailEvent.addressChanged)
  if (event_case() == kAddressChanged) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::AddressChangedEvent*>(_impl_.event_.addresschanged_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.addresschanged_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::AddressChangedEvent& MailEvent::_internal_addresschanged() const {
  return event_case() == kAddressChanged ? static_cast<const ::grpc::AddressChangedEvent&>(*reinterpret_cast<::grpc::AddressChangedEvent*>(_impl_.event_.addresschanged_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::AddressChangedEvent>(&::grpc::AddressChangedEvent_globals_);
}
inline const ::grpc::AddressChangedEvent& MailEvent::addresschanged() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.MailEvent.addressChanged)
  return _internal_addresschanged();
}
inline ::grpc::AddressChangedEvent* PROTOBUF_NULLABLE MailEvent::unsafe_arena_release_addresschanged() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.MailEvent.addressChanged)
  if (event_case() == kAddressChanged) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::AddressChangedEvent*>(_impl_.event_.addresschanged_);
    _impl_.event_.addresschanged_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void MailEvent::unsafe_arena_set_allocated_addresschanged(
    ::grpc::AddressChangedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_addresschanged();
    _impl_.event_.addresschanged_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.MailEvent.addressChanged)
}
inline ::grpc::AddressChangedEvent* PROTOBUF_NONNULL MailEvent::_internal_mutable_addresschanged() {
  if (event_case() != kAddressChanged) {
    clear_event();
    set_has_addresschanged();
    _impl_.event_.addresschanged_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::AddressChangedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::AddressChangedEvent*>(_impl_.event_.addresschanged_);
}
inline ::grpc::AddressChangedEvent* PROTOBUF_NONNULL MailEvent::mutable_addresschanged()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::AddressChangedEvent* _msg = _internal_mutable_addresschanged();
  // @@protoc_insertion_point(field_mutable:grpc.MailEvent.addressChanged)
  return _msg;
}

// .grpc.AddressChangedLogoutEvent addressChangedLogout = 2;
inline bool MailEvent::has_addresschangedlogout() const {
  return event_case() == kAddressChangedLogout;
}
inline bool MailEvent::_internal_has_addresschangedlogout() const {
  return event_case() == kAddressChangedLogout;
}
inline void MailEvent::set_has_addresschangedlogout() {
  _impl_._oneof_case_[0] = kAddressChangedLogout;
}
inline void MailEvent::clear_addresschangedlogout() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kAddressChangedLogout) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.addresschangedlogout_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.addresschangedlogout_);
    }
    clear_has_event();
  }
}
inline ::grpc::AddressChangedLogoutEvent* PROTOBUF_NULLABLE MailEvent::release_addresschangedlogout() {
  // @@protoc_insertion_point(field_release:grpc.MailEvent.addressChangedLogout)
  if (event_case() == kAddressChangedLogout) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::AddressChangedLogoutEvent*>(_impl_.event_.addresschangedlogout_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.addresschangedlogout_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::AddressChangedLogoutEvent& MailEvent::_internal_addresschangedlogout() const {
  return event_case() == kAddressChangedLogout ? static_cast<const ::grpc::AddressChangedLogoutEvent&>(*reinterpret_cast<::grpc::AddressChangedLogoutEvent*>(_impl_.event_.addresschangedlogout_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::AddressChangedLogoutEvent>(&::grpc::AddressChangedLogoutEvent_globals_);
}
inline const ::grpc::AddressChangedLogoutEvent& MailEvent::addresschangedlogout() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.MailEvent.addressChangedLogout)
  return _internal_addresschangedlogout();
}
inline ::grpc::AddressChangedLogoutEvent* PROTOBUF_NULLABLE MailEvent::unsafe_arena_release_addresschangedlogout() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.MailEvent.addressChangedLogout)
  if (event_case() == kAddressChangedLogout) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::AddressChangedLogoutEvent*>(_impl_.event_.addresschangedlogout_);
    _impl_.event_.addresschangedlogout_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void MailEvent::unsafe_arena_set_allocated_addresschangedlogout(
    ::grpc::AddressChangedLogoutEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_addresschangedlogout();
    _impl_.event_.addresschangedlogout_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.MailEvent.addressChangedLogout)
}
inline ::grpc::AddressChangedLogoutEvent* PROTOBUF_NONNULL MailEvent::_internal_mutable_addresschangedlogout() {
  if (event_case() != kAddressChangedLogout) {
    clear_event();
    set_has_addresschangedlogout();
    _impl_.event_.addresschangedlogout_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::AddressChangedLogoutEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::AddressChangedLogoutEvent*>(_impl_.event_.addresschangedlogout_);
}
inline ::grpc::AddressChangedLogoutEvent* PROTOBUF_NONNULL MailEvent::mutable_addresschangedlogout()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::AddressChangedLogoutEvent* _msg = _internal_mutable_addresschangedlogout();
  // @@protoc_insertion_point(field_mutable:grpc.MailEvent.addressChangedLogout)
  return _msg;
}

// .grpc.ApiCertIssueEvent apiCertIssue = 3;
inline bool MailEvent::has_apicertissue() const {
  return event_case() == kApiCertIssue;
}
inline bool MailEvent::_internal_has_apicertissue() const {
  return event_case() == kApiCertIssue;
}
inline void MailEvent::set_has_apicertissue() {
  _impl_._oneof_case_[0] = kApiCertIssue;
}
inline void MailEvent::clear_apicertissue() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kApiCertIssue) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.apicertissue_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.apicertissue_);
    }
    clear_has_event();
  }
}
inline ::grpc::ApiCertIssueEvent* PROTOBUF_NULLABLE MailEvent::release_apicertissue() {
  // @@protoc_insertion_point(field_release:grpc.MailEvent.apiCertIssue)
  if (event_case() == kApiCertIssue) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ApiCertIssueEvent*>(_impl_.event_.apicertissue_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.apicertissue_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ApiCertIssueEvent& MailEvent::_internal_apicertissue() const {
  return event_case() == kApiCertIssue ? static_cast<const ::grpc::ApiCertIssueEvent&>(*reinterpret_cast<::grpc::ApiCertIssueEvent*>(_impl_.event_.apicertissue_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ApiCertIssueEvent>(&::grpc::ApiCertIssueEvent_globals_);
}
inline const ::grpc::ApiCertIssueEvent& MailEvent::apicertissue() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.MailEvent.apiCertIssue)
  return _internal_apicertissue();
}
inline ::grpc::ApiCertIssueEvent* PROTOBUF_NULLABLE MailEvent::unsafe_arena_release_apicertissue() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.MailEvent.apiCertIssue)
  if (event_case() == kApiCertIssue) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ApiCertIssueEvent*>(_impl_.event_.apicertissue_);
    _impl_.event_.apicertissue_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void MailEvent::unsafe_arena_set_allocated_apicertissue(
    ::grpc::ApiCertIssueEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_apicertissue();
    _impl_.event_.apicertissue_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.MailEvent.apiCertIssue)
}
inline ::grpc::ApiCertIssueEvent* PROTOBUF_NONNULL MailEvent::_internal_mutable_apicertissue() {
  if (event_case() != kApiCertIssue) {
    clear_event();
    set_has_apicertissue();
    _impl_.event_.apicertissue_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ApiCertIssueEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ApiCertIssueEvent*>(_impl_.event_.apicertissue_);
}
inline ::grpc::ApiCertIssueEvent* PROTOBUF_NONNULL MailEvent::mutable_apicertissue()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ApiCertIssueEvent* _msg = _internal_mutable_apicertissue();
  // @@protoc_insertion_point(field_mutable:grpc.MailEvent.apiCertIssue)
  return _msg;
}

inline bool MailEvent::has_event() const {
  return event_case() != EVENT_NOT_SET;
}
inline void MailEvent::clear_has_event() {
  _impl_._oneof_case_[0] = EVENT_NOT_SET;
}
inline MailEvent::EventCase MailEvent::event_case() const {
  return MailEvent::EventCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// AddressChangedEvent

// string address = 1;
inline void AddressChangedEvent::clear_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.address_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& AddressChangedEvent::address() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AddressChangedEvent.address)
  return _internal_address();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void AddressChangedEvent::set_address(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.address_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.AddressChangedEvent.address)
}
inline ::std::string* PROTOBUF_NONNULL AddressChangedEvent::mutable_address()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_address();
  // @@protoc_insertion_point(field_mutable:grpc.AddressChangedEvent.address)
  return _s;
}
inline const ::std::string& AddressChangedEvent::_internal_address() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.address_.Get();
}
inline void AddressChangedEvent::_internal_set_address(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.address_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL AddressChangedEvent::_internal_mutable_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.address_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE AddressChangedEvent::release_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.AddressChangedEvent.address)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.address_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.address_.Set("", GetArena());
  }
  return released;
}
inline void AddressChangedEvent::set_allocated_address(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.address_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.address_.IsDefault()) {
    _impl_.address_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.AddressChangedEvent.address)
}

// -------------------------------------------------------------------

// AddressChangedLogoutEvent

// string address = 1;
inline void AddressChangedLogoutEvent::clear_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.address_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& AddressChangedLogoutEvent::address() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.AddressChangedLogoutEvent.address)
  return _internal_address();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void AddressChangedLogoutEvent::set_address(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.address_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.AddressChangedLogoutEvent.address)
}
inline ::std::string* PROTOBUF_NONNULL AddressChangedLogoutEvent::mutable_address()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_address();
  // @@protoc_insertion_point(field_mutable:grpc.AddressChangedLogoutEvent.address)
  return _s;
}
inline const ::std::string& AddressChangedLogoutEvent::_internal_address() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.address_.Get();
}
inline void AddressChangedLogoutEvent::_internal_set_address(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.address_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL AddressChangedLogoutEvent::_internal_mutable_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.address_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE AddressChangedLogoutEvent::release_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.AddressChangedLogoutEvent.address)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.address_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.address_.Set("", GetArena());
  }
  return released;
}
inline void AddressChangedLogoutEvent::set_allocated_address(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.address_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.address_.IsDefault()) {
    _impl_.address_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.AddressChangedLogoutEvent.address)
}

// -------------------------------------------------------------------

// ApiCertIssueEvent

// -------------------------------------------------------------------

// UserEvent

// .grpc.ToggleSplitModeFinishedEvent toggleSplitModeFinished = 1;
inline bool UserEvent::has_togglesplitmodefinished() const {
  return event_case() == kToggleSplitModeFinished;
}
inline bool UserEvent::_internal_has_togglesplitmodefinished() const {
  return event_case() == kToggleSplitModeFinished;
}
inline void UserEvent::set_has_togglesplitmodefinished() {
  _impl_._oneof_case_[0] = kToggleSplitModeFinished;
}
inline void UserEvent::clear_togglesplitmodefinished() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kToggleSplitModeFinished) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.togglesplitmodefinished_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.togglesplitmodefinished_);
    }
    clear_has_event();
  }
}
inline ::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NULLABLE UserEvent::release_togglesplitmodefinished() {
  // @@protoc_insertion_point(field_release:grpc.UserEvent.toggleSplitModeFinished)
  if (event_case() == kToggleSplitModeFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ToggleSplitModeFinishedEvent*>(_impl_.event_.togglesplitmodefinished_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.togglesplitmodefinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ToggleSplitModeFinishedEvent& UserEvent::_internal_togglesplitmodefinished() const {
  return event_case() == kToggleSplitModeFinished ? static_cast<const ::grpc::ToggleSplitModeFinishedEvent&>(*reinterpret_cast<::grpc::ToggleSplitModeFinishedEvent*>(_impl_.event_.togglesplitmodefinished_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ToggleSplitModeFinishedEvent>(&::grpc::ToggleSplitModeFinishedEvent_globals_);
}
inline const ::grpc::ToggleSplitModeFinishedEvent& UserEvent::togglesplitmodefinished() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserEvent.toggleSplitModeFinished)
  return _internal_togglesplitmodefinished();
}
inline ::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NULLABLE UserEvent::unsafe_arena_release_togglesplitmodefinished() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UserEvent.toggleSplitModeFinished)
  if (event_case() == kToggleSplitModeFinished) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ToggleSplitModeFinishedEvent*>(_impl_.event_.togglesplitmodefinished_);
    _impl_.event_.togglesplitmodefinished_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UserEvent::unsafe_arena_set_allocated_togglesplitmodefinished(
    ::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_togglesplitmodefinished();
    _impl_.event_.togglesplitmodefinished_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UserEvent.toggleSplitModeFinished)
}
inline ::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NONNULL UserEvent::_internal_mutable_togglesplitmodefinished() {
  if (event_case() != kToggleSplitModeFinished) {
    clear_event();
    set_has_togglesplitmodefinished();
    _impl_.event_.togglesplitmodefinished_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ToggleSplitModeFinishedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ToggleSplitModeFinishedEvent*>(_impl_.event_.togglesplitmodefinished_);
}
inline ::grpc::ToggleSplitModeFinishedEvent* PROTOBUF_NONNULL UserEvent::mutable_togglesplitmodefinished()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ToggleSplitModeFinishedEvent* _msg = _internal_mutable_togglesplitmodefinished();
  // @@protoc_insertion_point(field_mutable:grpc.UserEvent.toggleSplitModeFinished)
  return _msg;
}

// .grpc.UserDisconnectedEvent userDisconnected = 2;
inline bool UserEvent::has_userdisconnected() const {
  return event_case() == kUserDisconnected;
}
inline bool UserEvent::_internal_has_userdisconnected() const {
  return event_case() == kUserDisconnected;
}
inline void UserEvent::set_has_userdisconnected() {
  _impl_._oneof_case_[0] = kUserDisconnected;
}
inline void UserEvent::clear_userdisconnected() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kUserDisconnected) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.userdisconnected_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.userdisconnected_);
    }
    clear_has_event();
  }
}
inline ::grpc::UserDisconnectedEvent* PROTOBUF_NULLABLE UserEvent::release_userdisconnected() {
  // @@protoc_insertion_point(field_release:grpc.UserEvent.userDisconnected)
  if (event_case() == kUserDisconnected) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UserDisconnectedEvent*>(_impl_.event_.userdisconnected_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.userdisconnected_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UserDisconnectedEvent& UserEvent::_internal_userdisconnected() const {
  return event_case() == kUserDisconnected ? static_cast<const ::grpc::UserDisconnectedEvent&>(*reinterpret_cast<::grpc::UserDisconnectedEvent*>(_impl_.event_.userdisconnected_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UserDisconnectedEvent>(&::grpc::UserDisconnectedEvent_globals_);
}
inline const ::grpc::UserDisconnectedEvent& UserEvent::userdisconnected() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserEvent.userDisconnected)
  return _internal_userdisconnected();
}
inline ::grpc::UserDisconnectedEvent* PROTOBUF_NULLABLE UserEvent::unsafe_arena_release_userdisconnected() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UserEvent.userDisconnected)
  if (event_case() == kUserDisconnected) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UserDisconnectedEvent*>(_impl_.event_.userdisconnected_);
    _impl_.event_.userdisconnected_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UserEvent::unsafe_arena_set_allocated_userdisconnected(
    ::grpc::UserDisconnectedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_userdisconnected();
    _impl_.event_.userdisconnected_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UserEvent.userDisconnected)
}
inline ::grpc::UserDisconnectedEvent* PROTOBUF_NONNULL UserEvent::_internal_mutable_userdisconnected() {
  if (event_case() != kUserDisconnected) {
    clear_event();
    set_has_userdisconnected();
    _impl_.event_.userdisconnected_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UserDisconnectedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UserDisconnectedEvent*>(_impl_.event_.userdisconnected_);
}
inline ::grpc::UserDisconnectedEvent* PROTOBUF_NONNULL UserEvent::mutable_userdisconnected()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UserDisconnectedEvent* _msg = _internal_mutable_userdisconnected();
  // @@protoc_insertion_point(field_mutable:grpc.UserEvent.userDisconnected)
  return _msg;
}

// .grpc.UserChangedEvent userChanged = 3;
inline bool UserEvent::has_userchanged() const {
  return event_case() == kUserChanged;
}
inline bool UserEvent::_internal_has_userchanged() const {
  return event_case() == kUserChanged;
}
inline void UserEvent::set_has_userchanged() {
  _impl_._oneof_case_[0] = kUserChanged;
}
inline void UserEvent::clear_userchanged() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kUserChanged) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.userchanged_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.userchanged_);
    }
    clear_has_event();
  }
}
inline ::grpc::UserChangedEvent* PROTOBUF_NULLABLE UserEvent::release_userchanged() {
  // @@protoc_insertion_point(field_release:grpc.UserEvent.userChanged)
  if (event_case() == kUserChanged) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UserChangedEvent*>(_impl_.event_.userchanged_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.userchanged_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UserChangedEvent& UserEvent::_internal_userchanged() const {
  return event_case() == kUserChanged ? static_cast<const ::grpc::UserChangedEvent&>(*reinterpret_cast<::grpc::UserChangedEvent*>(_impl_.event_.userchanged_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UserChangedEvent>(&::grpc::UserChangedEvent_globals_);
}
inline const ::grpc::UserChangedEvent& UserEvent::userchanged() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserEvent.userChanged)
  return _internal_userchanged();
}
inline ::grpc::UserChangedEvent* PROTOBUF_NULLABLE UserEvent::unsafe_arena_release_userchanged() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UserEvent.userChanged)
  if (event_case() == kUserChanged) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UserChangedEvent*>(_impl_.event_.userchanged_);
    _impl_.event_.userchanged_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UserEvent::unsafe_arena_set_allocated_userchanged(
    ::grpc::UserChangedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_userchanged();
    _impl_.event_.userchanged_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UserEvent.userChanged)
}
inline ::grpc::UserChangedEvent* PROTOBUF_NONNULL UserEvent::_internal_mutable_userchanged() {
  if (event_case() != kUserChanged) {
    clear_event();
    set_has_userchanged();
    _impl_.event_.userchanged_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UserChangedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UserChangedEvent*>(_impl_.event_.userchanged_);
}
inline ::grpc::UserChangedEvent* PROTOBUF_NONNULL UserEvent::mutable_userchanged()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UserChangedEvent* _msg = _internal_mutable_userchanged();
  // @@protoc_insertion_point(field_mutable:grpc.UserEvent.userChanged)
  return _msg;
}

// .grpc.UserBadEvent userBadEvent = 4;
inline bool UserEvent::has_userbadevent() const {
  return event_case() == kUserBadEvent;
}
inline bool UserEvent::_internal_has_userbadevent() const {
  return event_case() == kUserBadEvent;
}
inline void UserEvent::set_has_userbadevent() {
  _impl_._oneof_case_[0] = kUserBadEvent;
}
inline void UserEvent::clear_userbadevent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kUserBadEvent) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.userbadevent_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.userbadevent_);
    }
    clear_has_event();
  }
}
inline ::grpc::UserBadEvent* PROTOBUF_NULLABLE UserEvent::release_userbadevent() {
  // @@protoc_insertion_point(field_release:grpc.UserEvent.userBadEvent)
  if (event_case() == kUserBadEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UserBadEvent*>(_impl_.event_.userbadevent_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.userbadevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UserBadEvent& UserEvent::_internal_userbadevent() const {
  return event_case() == kUserBadEvent ? static_cast<const ::grpc::UserBadEvent&>(*reinterpret_cast<::grpc::UserBadEvent*>(_impl_.event_.userbadevent_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UserBadEvent>(&::grpc::UserBadEvent_globals_);
}
inline const ::grpc::UserBadEvent& UserEvent::userbadevent() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserEvent.userBadEvent)
  return _internal_userbadevent();
}
inline ::grpc::UserBadEvent* PROTOBUF_NULLABLE UserEvent::unsafe_arena_release_userbadevent() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UserEvent.userBadEvent)
  if (event_case() == kUserBadEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UserBadEvent*>(_impl_.event_.userbadevent_);
    _impl_.event_.userbadevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UserEvent::unsafe_arena_set_allocated_userbadevent(
    ::grpc::UserBadEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_userbadevent();
    _impl_.event_.userbadevent_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UserEvent.userBadEvent)
}
inline ::grpc::UserBadEvent* PROTOBUF_NONNULL UserEvent::_internal_mutable_userbadevent() {
  if (event_case() != kUserBadEvent) {
    clear_event();
    set_has_userbadevent();
    _impl_.event_.userbadevent_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UserBadEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UserBadEvent*>(_impl_.event_.userbadevent_);
}
inline ::grpc::UserBadEvent* PROTOBUF_NONNULL UserEvent::mutable_userbadevent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UserBadEvent* _msg = _internal_mutable_userbadevent();
  // @@protoc_insertion_point(field_mutable:grpc.UserEvent.userBadEvent)
  return _msg;
}

// .grpc.UsedBytesChangedEvent usedBytesChangedEvent = 5;
inline bool UserEvent::has_usedbyteschangedevent() const {
  return event_case() == kUsedBytesChangedEvent;
}
inline bool UserEvent::_internal_has_usedbyteschangedevent() const {
  return event_case() == kUsedBytesChangedEvent;
}
inline void UserEvent::set_has_usedbyteschangedevent() {
  _impl_._oneof_case_[0] = kUsedBytesChangedEvent;
}
inline void UserEvent::clear_usedbyteschangedevent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kUsedBytesChangedEvent) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.usedbyteschangedevent_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.usedbyteschangedevent_);
    }
    clear_has_event();
  }
}
inline ::grpc::UsedBytesChangedEvent* PROTOBUF_NULLABLE UserEvent::release_usedbyteschangedevent() {
  // @@protoc_insertion_point(field_release:grpc.UserEvent.usedBytesChangedEvent)
  if (event_case() == kUsedBytesChangedEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UsedBytesChangedEvent*>(_impl_.event_.usedbyteschangedevent_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.usedbyteschangedevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::UsedBytesChangedEvent& UserEvent::_internal_usedbyteschangedevent() const {
  return event_case() == kUsedBytesChangedEvent ? static_cast<const ::grpc::UsedBytesChangedEvent&>(*reinterpret_cast<::grpc::UsedBytesChangedEvent*>(_impl_.event_.usedbyteschangedevent_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::UsedBytesChangedEvent>(&::grpc::UsedBytesChangedEvent_globals_);
}
inline const ::grpc::UsedBytesChangedEvent& UserEvent::usedbyteschangedevent() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserEvent.usedBytesChangedEvent)
  return _internal_usedbyteschangedevent();
}
inline ::grpc::UsedBytesChangedEvent* PROTOBUF_NULLABLE UserEvent::unsafe_arena_release_usedbyteschangedevent() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UserEvent.usedBytesChangedEvent)
  if (event_case() == kUsedBytesChangedEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::UsedBytesChangedEvent*>(_impl_.event_.usedbyteschangedevent_);
    _impl_.event_.usedbyteschangedevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UserEvent::unsafe_arena_set_allocated_usedbyteschangedevent(
    ::grpc::UsedBytesChangedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_usedbyteschangedevent();
    _impl_.event_.usedbyteschangedevent_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UserEvent.usedBytesChangedEvent)
}
inline ::grpc::UsedBytesChangedEvent* PROTOBUF_NONNULL UserEvent::_internal_mutable_usedbyteschangedevent() {
  if (event_case() != kUsedBytesChangedEvent) {
    clear_event();
    set_has_usedbyteschangedevent();
    _impl_.event_.usedbyteschangedevent_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::UsedBytesChangedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::UsedBytesChangedEvent*>(_impl_.event_.usedbyteschangedevent_);
}
inline ::grpc::UsedBytesChangedEvent* PROTOBUF_NONNULL UserEvent::mutable_usedbyteschangedevent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::UsedBytesChangedEvent* _msg = _internal_mutable_usedbyteschangedevent();
  // @@protoc_insertion_point(field_mutable:grpc.UserEvent.usedBytesChangedEvent)
  return _msg;
}

// .grpc.ImapLoginFailedEvent imapLoginFailedEvent = 6;
inline bool UserEvent::has_imaploginfailedevent() const {
  return event_case() == kImapLoginFailedEvent;
}
inline bool UserEvent::_internal_has_imaploginfailedevent() const {
  return event_case() == kImapLoginFailedEvent;
}
inline void UserEvent::set_has_imaploginfailedevent() {
  _impl_._oneof_case_[0] = kImapLoginFailedEvent;
}
inline void UserEvent::clear_imaploginfailedevent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kImapLoginFailedEvent) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.imaploginfailedevent_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.imaploginfailedevent_);
    }
    clear_has_event();
  }
}
inline ::grpc::ImapLoginFailedEvent* PROTOBUF_NULLABLE UserEvent::release_imaploginfailedevent() {
  // @@protoc_insertion_point(field_release:grpc.UserEvent.imapLoginFailedEvent)
  if (event_case() == kImapLoginFailedEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ImapLoginFailedEvent*>(_impl_.event_.imaploginfailedevent_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.imaploginfailedevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::ImapLoginFailedEvent& UserEvent::_internal_imaploginfailedevent() const {
  return event_case() == kImapLoginFailedEvent ? static_cast<const ::grpc::ImapLoginFailedEvent&>(*reinterpret_cast<::grpc::ImapLoginFailedEvent*>(_impl_.event_.imaploginfailedevent_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::ImapLoginFailedEvent>(&::grpc::ImapLoginFailedEvent_globals_);
}
inline const ::grpc::ImapLoginFailedEvent& UserEvent::imaploginfailedevent() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserEvent.imapLoginFailedEvent)
  return _internal_imaploginfailedevent();
}
inline ::grpc::ImapLoginFailedEvent* PROTOBUF_NULLABLE UserEvent::unsafe_arena_release_imaploginfailedevent() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UserEvent.imapLoginFailedEvent)
  if (event_case() == kImapLoginFailedEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::ImapLoginFailedEvent*>(_impl_.event_.imaploginfailedevent_);
    _impl_.event_.imaploginfailedevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UserEvent::unsafe_arena_set_allocated_imaploginfailedevent(
    ::grpc::ImapLoginFailedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_imaploginfailedevent();
    _impl_.event_.imaploginfailedevent_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UserEvent.imapLoginFailedEvent)
}
inline ::grpc::ImapLoginFailedEvent* PROTOBUF_NONNULL UserEvent::_internal_mutable_imaploginfailedevent() {
  if (event_case() != kImapLoginFailedEvent) {
    clear_event();
    set_has_imaploginfailedevent();
    _impl_.event_.imaploginfailedevent_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::ImapLoginFailedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::ImapLoginFailedEvent*>(_impl_.event_.imaploginfailedevent_);
}
inline ::grpc::ImapLoginFailedEvent* PROTOBUF_NONNULL UserEvent::mutable_imaploginfailedevent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::ImapLoginFailedEvent* _msg = _internal_mutable_imaploginfailedevent();
  // @@protoc_insertion_point(field_mutable:grpc.UserEvent.imapLoginFailedEvent)
  return _msg;
}

// .grpc.SyncStartedEvent syncStartedEvent = 7;
inline bool UserEvent::has_syncstartedevent() const {
  return event_case() == kSyncStartedEvent;
}
inline bool UserEvent::_internal_has_syncstartedevent() const {
  return event_case() == kSyncStartedEvent;
}
inline void UserEvent::set_has_syncstartedevent() {
  _impl_._oneof_case_[0] = kSyncStartedEvent;
}
inline void UserEvent::clear_syncstartedevent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kSyncStartedEvent) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.syncstartedevent_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.syncstartedevent_);
    }
    clear_has_event();
  }
}
inline ::grpc::SyncStartedEvent* PROTOBUF_NULLABLE UserEvent::release_syncstartedevent() {
  // @@protoc_insertion_point(field_release:grpc.UserEvent.syncStartedEvent)
  if (event_case() == kSyncStartedEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::SyncStartedEvent*>(_impl_.event_.syncstartedevent_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.syncstartedevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::SyncStartedEvent& UserEvent::_internal_syncstartedevent() const {
  return event_case() == kSyncStartedEvent ? static_cast<const ::grpc::SyncStartedEvent&>(*reinterpret_cast<::grpc::SyncStartedEvent*>(_impl_.event_.syncstartedevent_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::SyncStartedEvent>(&::grpc::SyncStartedEvent_globals_);
}
inline const ::grpc::SyncStartedEvent& UserEvent::syncstartedevent() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserEvent.syncStartedEvent)
  return _internal_syncstartedevent();
}
inline ::grpc::SyncStartedEvent* PROTOBUF_NULLABLE UserEvent::unsafe_arena_release_syncstartedevent() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UserEvent.syncStartedEvent)
  if (event_case() == kSyncStartedEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::SyncStartedEvent*>(_impl_.event_.syncstartedevent_);
    _impl_.event_.syncstartedevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UserEvent::unsafe_arena_set_allocated_syncstartedevent(
    ::grpc::SyncStartedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_syncstartedevent();
    _impl_.event_.syncstartedevent_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UserEvent.syncStartedEvent)
}
inline ::grpc::SyncStartedEvent* PROTOBUF_NONNULL UserEvent::_internal_mutable_syncstartedevent() {
  if (event_case() != kSyncStartedEvent) {
    clear_event();
    set_has_syncstartedevent();
    _impl_.event_.syncstartedevent_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::SyncStartedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::SyncStartedEvent*>(_impl_.event_.syncstartedevent_);
}
inline ::grpc::SyncStartedEvent* PROTOBUF_NONNULL UserEvent::mutable_syncstartedevent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::SyncStartedEvent* _msg = _internal_mutable_syncstartedevent();
  // @@protoc_insertion_point(field_mutable:grpc.UserEvent.syncStartedEvent)
  return _msg;
}

// .grpc.SyncFinishedEvent syncFinishedEvent = 8;
inline bool UserEvent::has_syncfinishedevent() const {
  return event_case() == kSyncFinishedEvent;
}
inline bool UserEvent::_internal_has_syncfinishedevent() const {
  return event_case() == kSyncFinishedEvent;
}
inline void UserEvent::set_has_syncfinishedevent() {
  _impl_._oneof_case_[0] = kSyncFinishedEvent;
}
inline void UserEvent::clear_syncfinishedevent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kSyncFinishedEvent) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.syncfinishedevent_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.syncfinishedevent_);
    }
    clear_has_event();
  }
}
inline ::grpc::SyncFinishedEvent* PROTOBUF_NULLABLE UserEvent::release_syncfinishedevent() {
  // @@protoc_insertion_point(field_release:grpc.UserEvent.syncFinishedEvent)
  if (event_case() == kSyncFinishedEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::SyncFinishedEvent*>(_impl_.event_.syncfinishedevent_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.syncfinishedevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::SyncFinishedEvent& UserEvent::_internal_syncfinishedevent() const {
  return event_case() == kSyncFinishedEvent ? static_cast<const ::grpc::SyncFinishedEvent&>(*reinterpret_cast<::grpc::SyncFinishedEvent*>(_impl_.event_.syncfinishedevent_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::SyncFinishedEvent>(&::grpc::SyncFinishedEvent_globals_);
}
inline const ::grpc::SyncFinishedEvent& UserEvent::syncfinishedevent() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserEvent.syncFinishedEvent)
  return _internal_syncfinishedevent();
}
inline ::grpc::SyncFinishedEvent* PROTOBUF_NULLABLE UserEvent::unsafe_arena_release_syncfinishedevent() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UserEvent.syncFinishedEvent)
  if (event_case() == kSyncFinishedEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::SyncFinishedEvent*>(_impl_.event_.syncfinishedevent_);
    _impl_.event_.syncfinishedevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UserEvent::unsafe_arena_set_allocated_syncfinishedevent(
    ::grpc::SyncFinishedEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_syncfinishedevent();
    _impl_.event_.syncfinishedevent_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UserEvent.syncFinishedEvent)
}
inline ::grpc::SyncFinishedEvent* PROTOBUF_NONNULL UserEvent::_internal_mutable_syncfinishedevent() {
  if (event_case() != kSyncFinishedEvent) {
    clear_event();
    set_has_syncfinishedevent();
    _impl_.event_.syncfinishedevent_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::SyncFinishedEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::SyncFinishedEvent*>(_impl_.event_.syncfinishedevent_);
}
inline ::grpc::SyncFinishedEvent* PROTOBUF_NONNULL UserEvent::mutable_syncfinishedevent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::SyncFinishedEvent* _msg = _internal_mutable_syncfinishedevent();
  // @@protoc_insertion_point(field_mutable:grpc.UserEvent.syncFinishedEvent)
  return _msg;
}

// .grpc.SyncProgressEvent syncProgressEvent = 9;
inline bool UserEvent::has_syncprogressevent() const {
  return event_case() == kSyncProgressEvent;
}
inline bool UserEvent::_internal_has_syncprogressevent() const {
  return event_case() == kSyncProgressEvent;
}
inline void UserEvent::set_has_syncprogressevent() {
  _impl_._oneof_case_[0] = kSyncProgressEvent;
}
inline void UserEvent::clear_syncprogressevent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (event_case() == kSyncProgressEvent) {
    if (GetArena() == nullptr) {
      delete _impl_.event_.syncprogressevent_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.event_.syncprogressevent_);
    }
    clear_has_event();
  }
}
inline ::grpc::SyncProgressEvent* PROTOBUF_NULLABLE UserEvent::release_syncprogressevent() {
  // @@protoc_insertion_point(field_release:grpc.UserEvent.syncProgressEvent)
  if (event_case() == kSyncProgressEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::SyncProgressEvent*>(_impl_.event_.syncprogressevent_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.event_.syncprogressevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::grpc::SyncProgressEvent& UserEvent::_internal_syncprogressevent() const {
  return event_case() == kSyncProgressEvent ? static_cast<const ::grpc::SyncProgressEvent&>(*reinterpret_cast<::grpc::SyncProgressEvent*>(_impl_.event_.syncprogressevent_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::grpc::SyncProgressEvent>(&::grpc::SyncProgressEvent_globals_);
}
inline const ::grpc::SyncProgressEvent& UserEvent::syncprogressevent() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserEvent.syncProgressEvent)
  return _internal_syncprogressevent();
}
inline ::grpc::SyncProgressEvent* PROTOBUF_NULLABLE UserEvent::unsafe_arena_release_syncprogressevent() {
  // @@protoc_insertion_point(field_unsafe_arena_release:grpc.UserEvent.syncProgressEvent)
  if (event_case() == kSyncProgressEvent) {
    clear_has_event();
    auto* temp = reinterpret_cast<::grpc::SyncProgressEvent*>(_impl_.event_.syncprogressevent_);
    _impl_.event_.syncprogressevent_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void UserEvent::unsafe_arena_set_allocated_syncprogressevent(
    ::grpc::SyncProgressEvent* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_event();
  if (value) {
    set_has_syncprogressevent();
    _impl_.event_.syncprogressevent_ = reinterpret_cast<::google::protobuf::Message*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.UserEvent.syncProgressEvent)
}
inline ::grpc::SyncProgressEvent* PROTOBUF_NONNULL UserEvent::_internal_mutable_syncprogressevent() {
  if (event_case() != kSyncProgressEvent) {
    clear_event();
    set_has_syncprogressevent();
    _impl_.event_.syncprogressevent_ = reinterpret_cast<::google::protobuf::Message*>(
        ::google::protobuf::Message::DefaultConstruct<::grpc::SyncProgressEvent>(GetArena()));
  }
  return reinterpret_cast<::grpc::SyncProgressEvent*>(_impl_.event_.syncprogressevent_);
}
inline ::grpc::SyncProgressEvent* PROTOBUF_NONNULL UserEvent::mutable_syncprogressevent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::grpc::SyncProgressEvent* _msg = _internal_mutable_syncprogressevent();
  // @@protoc_insertion_point(field_mutable:grpc.UserEvent.syncProgressEvent)
  return _msg;
}

inline bool UserEvent::has_event() const {
  return event_case() != EVENT_NOT_SET;
}
inline void UserEvent::clear_has_event() {
  _impl_._oneof_case_[0] = EVENT_NOT_SET;
}
inline UserEvent::EventCase UserEvent::event_case() const {
  return UserEvent::EventCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// ToggleSplitModeFinishedEvent

// string userID = 1;
inline void ToggleSplitModeFinishedEvent::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ToggleSplitModeFinishedEvent::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.ToggleSplitModeFinishedEvent.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ToggleSplitModeFinishedEvent::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.ToggleSplitModeFinishedEvent.userID)
}
inline ::std::string* PROTOBUF_NONNULL ToggleSplitModeFinishedEvent::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.ToggleSplitModeFinishedEvent.userID)
  return _s;
}
inline const ::std::string& ToggleSplitModeFinishedEvent::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void ToggleSplitModeFinishedEvent::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ToggleSplitModeFinishedEvent::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ToggleSplitModeFinishedEvent::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.ToggleSplitModeFinishedEvent.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void ToggleSplitModeFinishedEvent::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.ToggleSplitModeFinishedEvent.userID)
}

// -------------------------------------------------------------------

// UserDisconnectedEvent

// string username = 1;
inline void UserDisconnectedEvent::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& UserDisconnectedEvent::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserDisconnectedEvent.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserDisconnectedEvent::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UserDisconnectedEvent.username)
}
inline ::std::string* PROTOBUF_NONNULL UserDisconnectedEvent::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.UserDisconnectedEvent.username)
  return _s;
}
inline const ::std::string& UserDisconnectedEvent::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void UserDisconnectedEvent::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserDisconnectedEvent::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserDisconnectedEvent::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UserDisconnectedEvent.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void UserDisconnectedEvent::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UserDisconnectedEvent.username)
}

// -------------------------------------------------------------------

// UserChangedEvent

// string userID = 1;
inline void UserChangedEvent::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& UserChangedEvent::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserChangedEvent.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserChangedEvent::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UserChangedEvent.userID)
}
inline ::std::string* PROTOBUF_NONNULL UserChangedEvent::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.UserChangedEvent.userID)
  return _s;
}
inline const ::std::string& UserChangedEvent::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void UserChangedEvent::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserChangedEvent::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserChangedEvent::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UserChangedEvent.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void UserChangedEvent::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UserChangedEvent.userID)
}

// -------------------------------------------------------------------

// UserBadEvent

// string userID = 1;
inline void UserBadEvent::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& UserBadEvent::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserBadEvent.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserBadEvent::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UserBadEvent.userID)
}
inline ::std::string* PROTOBUF_NONNULL UserBadEvent::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.UserBadEvent.userID)
  return _s;
}
inline const ::std::string& UserBadEvent::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void UserBadEvent::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserBadEvent::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserBadEvent::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UserBadEvent.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void UserBadEvent::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UserBadEvent.userID)
}

// string errorMessage = 2;
inline void UserBadEvent::clear_errormessage() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.errormessage_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& UserBadEvent::errormessage() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserBadEvent.errorMessage)
  return _internal_errormessage();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserBadEvent::set_errormessage(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.errormessage_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UserBadEvent.errorMessage)
}
inline ::std::string* PROTOBUF_NONNULL UserBadEvent::mutable_errormessage()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_errormessage();
  // @@protoc_insertion_point(field_mutable:grpc.UserBadEvent.errorMessage)
  return _s;
}
inline const ::std::string& UserBadEvent::_internal_errormessage() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.errormessage_.Get();
}
inline void UserBadEvent::_internal_set_errormessage(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.errormessage_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserBadEvent::_internal_mutable_errormessage() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.errormessage_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserBadEvent::release_errormessage() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UserBadEvent.errorMessage)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.errormessage_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.errormessage_.Set("", GetArena());
  }
  return released;
}
inline void UserBadEvent::set_allocated_errormessage(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.errormessage_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.errormessage_.IsDefault()) {
    _impl_.errormessage_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UserBadEvent.errorMessage)
}

// -------------------------------------------------------------------

// UsedBytesChangedEvent

// string userID = 1;
inline void UsedBytesChangedEvent::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& UsedBytesChangedEvent::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UsedBytesChangedEvent.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UsedBytesChangedEvent::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UsedBytesChangedEvent.userID)
}
inline ::std::string* PROTOBUF_NONNULL UsedBytesChangedEvent::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.UsedBytesChangedEvent.userID)
  return _s;
}
inline const ::std::string& UsedBytesChangedEvent::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void UsedBytesChangedEvent::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UsedBytesChangedEvent::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UsedBytesChangedEvent::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UsedBytesChangedEvent.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void UsedBytesChangedEvent::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UsedBytesChangedEvent.userID)
}

// int64 usedBytes = 2;
inline void UsedBytesChangedEvent::clear_usedbytes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.usedbytes_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::int64_t UsedBytesChangedEvent::usedbytes() const {
  // @@protoc_insertion_point(field_get:grpc.UsedBytesChangedEvent.usedBytes)
  return _internal_usedbytes();
}
inline void UsedBytesChangedEvent::set_usedbytes(::int64_t value) {
  _internal_set_usedbytes(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:grpc.UsedBytesChangedEvent.usedBytes)
}
inline ::int64_t UsedBytesChangedEvent::_internal_usedbytes() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.usedbytes_;
}
inline void UsedBytesChangedEvent::_internal_set_usedbytes(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.usedbytes_ = value;
}

// -------------------------------------------------------------------

// ImapLoginFailedEvent

// string username = 1;
inline void ImapLoginFailedEvent::clear_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ImapLoginFailedEvent::username() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.ImapLoginFailedEvent.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ImapLoginFailedEvent::set_username(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.ImapLoginFailedEvent.username)
}
inline ::std::string* PROTOBUF_NONNULL ImapLoginFailedEvent::mutable_username()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:grpc.ImapLoginFailedEvent.username)
  return _s;
}
inline const ::std::string& ImapLoginFailedEvent::_internal_username() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.username_.Get();
}
inline void ImapLoginFailedEvent::_internal_set_username(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.username_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ImapLoginFailedEvent::_internal_mutable_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.username_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ImapLoginFailedEvent::release_username() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.ImapLoginFailedEvent.username)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.username_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.username_.Set("", GetArena());
  }
  return released;
}
inline void ImapLoginFailedEvent::set_allocated_username(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.username_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.username_.IsDefault()) {
    _impl_.username_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.ImapLoginFailedEvent.username)
}

// -------------------------------------------------------------------

// SyncStartedEvent

// string userID = 1;
inline void SyncStartedEvent::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& SyncStartedEvent::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.SyncStartedEvent.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SyncStartedEvent::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.SyncStartedEvent.userID)
}
inline ::std::string* PROTOBUF_NONNULL SyncStartedEvent::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.SyncStartedEvent.userID)
  return _s;
}
inline const ::std::string& SyncStartedEvent::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void SyncStartedEvent::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SyncStartedEvent::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SyncStartedEvent::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.SyncStartedEvent.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void SyncStartedEvent::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.SyncStartedEvent.userID)
}

// -------------------------------------------------------------------

// SyncFinishedEvent

// string userID = 1;
inline void SyncFinishedEvent::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& SyncFinishedEvent::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.SyncFinishedEvent.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SyncFinishedEvent::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.SyncFinishedEvent.userID)
}
inline ::std::string* PROTOBUF_NONNULL SyncFinishedEvent::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.SyncFinishedEvent.userID)
  return _s;
}
inline const ::std::string& SyncFinishedEvent::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void SyncFinishedEvent::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SyncFinishedEvent::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SyncFinishedEvent::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.SyncFinishedEvent.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void SyncFinishedEvent::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.SyncFinishedEvent.userID)
}

// -------------------------------------------------------------------

// SyncProgressEvent

// string userID = 1;
inline void SyncProgressEvent::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& SyncProgressEvent::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.SyncProgressEvent.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SyncProgressEvent::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.SyncProgressEvent.userID)
}
inline ::std::string* PROTOBUF_NONNULL SyncProgressEvent::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.SyncProgressEvent.userID)
  return _s;
}
inline const ::std::string& SyncProgressEvent::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void SyncProgressEvent::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SyncProgressEvent::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SyncProgressEvent::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.SyncProgressEvent.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void SyncProgressEvent::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.SyncProgressEvent.userID)
}

// double progress = 2;
inline void SyncProgressEvent::clear_progress() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.progress_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline double SyncProgressEvent::progress() const {
  // @@protoc_insertion_point(field_get:grpc.SyncProgressEvent.progress)
  return _internal_progress();
}
inline void SyncProgressEvent::set_progress(double value) {
  _internal_set_progress(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:grpc.SyncProgressEvent.progress)
}
inline double SyncProgressEvent::_internal_progress() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.progress_;
}
inline void SyncProgressEvent::_internal_set_progress(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.progress_ = value;
}

// int64 elapsedMs = 3;
inline void SyncProgressEvent::clear_elapsedms() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.elapsedms_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::int64_t SyncProgressEvent::elapsedms() const {
  // @@protoc_insertion_point(field_get:grpc.SyncProgressEvent.elapsedMs)
  return _internal_elapsedms();
}
inline void SyncProgressEvent::set_elapsedms(::int64_t value) {
  _internal_set_elapsedms(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:grpc.SyncProgressEvent.elapsedMs)
}
inline ::int64_t SyncProgressEvent::_internal_elapsedms() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.elapsedms_;
}
inline void SyncProgressEvent::_internal_set_elapsedms(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.elapsedms_ = value;
}

// int64 remainingMs = 4;
inline void SyncProgressEvent::clear_remainingms() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.remainingms_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::int64_t SyncProgressEvent::remainingms() const {
  // @@protoc_insertion_point(field_get:grpc.SyncProgressEvent.remainingMs)
  return _internal_remainingms();
}
inline void SyncProgressEvent::set_remainingms(::int64_t value) {
  _internal_set_remainingms(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:grpc.SyncProgressEvent.remainingMs)
}
inline ::int64_t SyncProgressEvent::_internal_remainingms() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.remainingms_;
}
inline void SyncProgressEvent::_internal_set_remainingms(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.remainingms_ = value;
}

// -------------------------------------------------------------------

// UserNotificationEvent

// string title = 1;
inline void UserNotificationEvent::clear_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.title_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& UserNotificationEvent::title() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserNotificationEvent.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserNotificationEvent::set_title(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UserNotificationEvent.title)
}
inline ::std::string* PROTOBUF_NONNULL UserNotificationEvent::mutable_title()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:grpc.UserNotificationEvent.title)
  return _s;
}
inline const ::std::string& UserNotificationEvent::_internal_title() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.title_.Get();
}
inline void UserNotificationEvent::_internal_set_title(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.title_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserNotificationEvent::_internal_mutable_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.title_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserNotificationEvent::release_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UserNotificationEvent.title)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.title_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.title_.Set("", GetArena());
  }
  return released;
}
inline void UserNotificationEvent::set_allocated_title(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.title_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.title_.IsDefault()) {
    _impl_.title_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UserNotificationEvent.title)
}

// string subtitle = 2;
inline void UserNotificationEvent::clear_subtitle() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.subtitle_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& UserNotificationEvent::subtitle() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserNotificationEvent.subtitle)
  return _internal_subtitle();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserNotificationEvent::set_subtitle(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.subtitle_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UserNotificationEvent.subtitle)
}
inline ::std::string* PROTOBUF_NONNULL UserNotificationEvent::mutable_subtitle()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_subtitle();
  // @@protoc_insertion_point(field_mutable:grpc.UserNotificationEvent.subtitle)
  return _s;
}
inline const ::std::string& UserNotificationEvent::_internal_subtitle() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.subtitle_.Get();
}
inline void UserNotificationEvent::_internal_set_subtitle(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.subtitle_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserNotificationEvent::_internal_mutable_subtitle() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.subtitle_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserNotificationEvent::release_subtitle() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UserNotificationEvent.subtitle)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.subtitle_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.subtitle_.Set("", GetArena());
  }
  return released;
}
inline void UserNotificationEvent::set_allocated_subtitle(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.subtitle_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.subtitle_.IsDefault()) {
    _impl_.subtitle_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UserNotificationEvent.subtitle)
}

// string body = 3;
inline void UserNotificationEvent::clear_body() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.body_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& UserNotificationEvent::body() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserNotificationEvent.body)
  return _internal_body();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserNotificationEvent::set_body(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.body_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UserNotificationEvent.body)
}
inline ::std::string* PROTOBUF_NONNULL UserNotificationEvent::mutable_body()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_body();
  // @@protoc_insertion_point(field_mutable:grpc.UserNotificationEvent.body)
  return _s;
}
inline const ::std::string& UserNotificationEvent::_internal_body() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.body_.Get();
}
inline void UserNotificationEvent::_internal_set_body(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.body_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserNotificationEvent::_internal_mutable_body() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.body_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserNotificationEvent::release_body() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UserNotificationEvent.body)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.body_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.body_.Set("", GetArena());
  }
  return released;
}
inline void UserNotificationEvent::set_allocated_body(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.body_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.body_.IsDefault()) {
    _impl_.body_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UserNotificationEvent.body)
}

// string userID = 4;
inline void UserNotificationEvent::clear_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::std::string& UserNotificationEvent::userid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.UserNotificationEvent.userID)
  return _internal_userid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserNotificationEvent::set_userid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  _impl_.userid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.UserNotificationEvent.userID)
}
inline ::std::string* PROTOBUF_NONNULL UserNotificationEvent::mutable_userid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::std::string* _s = _internal_mutable_userid();
  // @@protoc_insertion_point(field_mutable:grpc.UserNotificationEvent.userID)
  return _s;
}
inline const ::std::string& UserNotificationEvent::_internal_userid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userid_.Get();
}
inline void UserNotificationEvent::_internal_set_userid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserNotificationEvent::_internal_mutable_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.userid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserNotificationEvent::release_userid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.UserNotificationEvent.userID)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  auto* released = _impl_.userid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.userid_.Set("", GetArena());
  }
  return released;
}
inline void UserNotificationEvent::set_allocated_userid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  _impl_.userid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.userid_.IsDefault()) {
    _impl_.userid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.UserNotificationEvent.userID)
}

// -------------------------------------------------------------------

// GenericErrorEvent

// .grpc.ErrorCode code = 1;
inline void GenericErrorEvent::clear_code() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.code_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::grpc::ErrorCode GenericErrorEvent::code() const {
  // @@protoc_insertion_point(field_get:grpc.GenericErrorEvent.code)
  return _internal_code();
}
inline void GenericErrorEvent::set_code(::grpc::ErrorCode value) {
  _internal_set_code(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:grpc.GenericErrorEvent.code)
}
inline ::grpc::ErrorCode GenericErrorEvent::_internal_code() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::grpc::ErrorCode>(_impl_.code_);
}
inline void GenericErrorEvent::_internal_set_code(::grpc::ErrorCode value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.code_ = value;
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace grpc


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::grpc::LogLevel> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::LogLevel>() {
  return ::grpc::LogLevel_descriptor();
}
template <>
struct is_proto_enum<::grpc::UserState> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::UserState>() {
  return ::grpc::UserState_descriptor();
}
template <>
struct is_proto_enum<::grpc::LoginErrorType> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::LoginErrorType>() {
  return ::grpc::LoginErrorType_descriptor();
}
template <>
struct is_proto_enum<::grpc::UpdateErrorType> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::UpdateErrorType>() {
  return ::grpc::UpdateErrorType_descriptor();
}
template <>
struct is_proto_enum<::grpc::DiskCacheErrorType> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::DiskCacheErrorType>() {
  return ::grpc::DiskCacheErrorType_descriptor();
}
template <>
struct is_proto_enum<::grpc::MailServerSettingsErrorType> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::MailServerSettingsErrorType>() {
  return ::grpc::MailServerSettingsErrorType_descriptor();
}
template <>
struct is_proto_enum<::grpc::ErrorCode> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::ErrorCode>() {
  return ::grpc::ErrorCode_descriptor();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"
// clang-format on

#endif  // bridge_2eproto_2epb_2eh
