// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: internal/proto/local_credential.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_internal_2fproto_2flocal_5fcredential_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_internal_2fproto_2flocal_5fcredential_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3019000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3019001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.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/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/map.h>  // IWYU pragma: export
#include <google/protobuf/map_entry.h>
#include <google/protobuf/map_field_inl.h>
#include <google/protobuf/unknown_field_set.h>
#include "internal/proto/credential.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_internal_2fproto_2flocal_5fcredential_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_internal_2fproto_2flocal_5fcredential_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_internal_2fproto_2flocal_5fcredential_2eproto;
namespace nearby {
namespace internal {
class LocalCredential;
struct LocalCredentialDefaultTypeInternal;
extern LocalCredentialDefaultTypeInternal _LocalCredential_default_instance_;
class LocalCredential_ConsumedSaltsEntry_DoNotUse;
struct LocalCredential_ConsumedSaltsEntry_DoNotUseDefaultTypeInternal;
extern LocalCredential_ConsumedSaltsEntry_DoNotUseDefaultTypeInternal _LocalCredential_ConsumedSaltsEntry_DoNotUse_default_instance_;
class LocalCredential_PrivateKey;
struct LocalCredential_PrivateKeyDefaultTypeInternal;
extern LocalCredential_PrivateKeyDefaultTypeInternal _LocalCredential_PrivateKey_default_instance_;
}  // namespace internal
}  // namespace nearby
PROTOBUF_NAMESPACE_OPEN
template<> ::nearby::internal::LocalCredential* Arena::CreateMaybeMessage<::nearby::internal::LocalCredential>(Arena*);
template<> ::nearby::internal::LocalCredential_ConsumedSaltsEntry_DoNotUse* Arena::CreateMaybeMessage<::nearby::internal::LocalCredential_ConsumedSaltsEntry_DoNotUse>(Arena*);
template<> ::nearby::internal::LocalCredential_PrivateKey* Arena::CreateMaybeMessage<::nearby::internal::LocalCredential_PrivateKey>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace nearby {
namespace internal {

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

class LocalCredential_PrivateKey final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:nearby.internal.LocalCredential.PrivateKey) */ {
 public:
  inline LocalCredential_PrivateKey() : LocalCredential_PrivateKey(nullptr) {}
  ~LocalCredential_PrivateKey() override;
  explicit constexpr LocalCredential_PrivateKey(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  LocalCredential_PrivateKey(const LocalCredential_PrivateKey& from);
  LocalCredential_PrivateKey(LocalCredential_PrivateKey&& from) noexcept
    : LocalCredential_PrivateKey() {
    *this = ::std::move(from);
  }

  inline LocalCredential_PrivateKey& operator=(const LocalCredential_PrivateKey& from) {
    CopyFrom(from);
    return *this;
  }
  inline LocalCredential_PrivateKey& operator=(LocalCredential_PrivateKey&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const LocalCredential_PrivateKey& default_instance() {
    return *internal_default_instance();
  }
  static inline const LocalCredential_PrivateKey* internal_default_instance() {
    return reinterpret_cast<const LocalCredential_PrivateKey*>(
               &_LocalCredential_PrivateKey_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(LocalCredential_PrivateKey& a, LocalCredential_PrivateKey& b) {
    a.Swap(&b);
  }
  inline void Swap(LocalCredential_PrivateKey* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LocalCredential_PrivateKey* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  LocalCredential_PrivateKey* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<LocalCredential_PrivateKey>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const LocalCredential_PrivateKey& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const LocalCredential_PrivateKey& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(LocalCredential_PrivateKey* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "nearby.internal.LocalCredential.PrivateKey";
  }
  protected:
  explicit LocalCredential_PrivateKey(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCertificateAliasFieldNumber = 1,
    kKeyFieldNumber = 2,
  };
  // string certificate_alias = 1;
  void clear_certificate_alias();
  const std::string& certificate_alias() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_certificate_alias(ArgT0&& arg0, ArgT... args);
  std::string* mutable_certificate_alias();
  PROTOBUF_NODISCARD std::string* release_certificate_alias();
  void set_allocated_certificate_alias(std::string* certificate_alias);
  private:
  const std::string& _internal_certificate_alias() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_certificate_alias(const std::string& value);
  std::string* _internal_mutable_certificate_alias();
  public:

  // bytes key = 2;
  void clear_key();
  const std::string& key() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_key(ArgT0&& arg0, ArgT... args);
  std::string* mutable_key();
  PROTOBUF_NODISCARD std::string* release_key();
  void set_allocated_key(std::string* key);
  private:
  const std::string& _internal_key() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_key(const std::string& value);
  std::string* _internal_mutable_key();
  public:

  // @@protoc_insertion_point(class_scope:nearby.internal.LocalCredential.PrivateKey)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr certificate_alias_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr key_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_internal_2fproto_2flocal_5fcredential_2eproto;
};
// -------------------------------------------------------------------

class LocalCredential_ConsumedSaltsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<LocalCredential_ConsumedSaltsEntry_DoNotUse, 
    uint32_t, bool,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_BOOL> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<LocalCredential_ConsumedSaltsEntry_DoNotUse, 
    uint32_t, bool,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_BOOL> SuperType;
  LocalCredential_ConsumedSaltsEntry_DoNotUse();
  explicit constexpr LocalCredential_ConsumedSaltsEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit LocalCredential_ConsumedSaltsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const LocalCredential_ConsumedSaltsEntry_DoNotUse& other);
  static const LocalCredential_ConsumedSaltsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const LocalCredential_ConsumedSaltsEntry_DoNotUse*>(&_LocalCredential_ConsumedSaltsEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
};

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

class LocalCredential final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:nearby.internal.LocalCredential) */ {
 public:
  inline LocalCredential() : LocalCredential(nullptr) {}
  ~LocalCredential() override;
  explicit constexpr LocalCredential(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  LocalCredential(const LocalCredential& from);
  LocalCredential(LocalCredential&& from) noexcept
    : LocalCredential() {
    *this = ::std::move(from);
  }

  inline LocalCredential& operator=(const LocalCredential& from) {
    CopyFrom(from);
    return *this;
  }
  inline LocalCredential& operator=(LocalCredential&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const LocalCredential& default_instance() {
    return *internal_default_instance();
  }
  static inline const LocalCredential* internal_default_instance() {
    return reinterpret_cast<const LocalCredential*>(
               &_LocalCredential_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(LocalCredential& a, LocalCredential& b) {
    a.Swap(&b);
  }
  inline void Swap(LocalCredential* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LocalCredential* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  LocalCredential* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<LocalCredential>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const LocalCredential& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const LocalCredential& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(LocalCredential* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "nearby.internal.LocalCredential";
  }
  protected:
  explicit LocalCredential(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef LocalCredential_PrivateKey PrivateKey;

  // accessors -------------------------------------------------------

  enum : int {
    kConsumedSaltsFieldNumber = 9,
    kSecretIdFieldNumber = 1,
    kKeySeedFieldNumber = 2,
    kMetadataEncryptionKeyFieldNumber = 5,
    kAdvertisementSigningKeyFieldNumber = 6,
    kConnectionSigningKeyFieldNumber = 7,
    kStartTimeMillisFieldNumber = 3,
    kEndTimeMillisFieldNumber = 4,
    kIdentityTypeFieldNumber = 8,
  };
  // map<uint32, bool> consumed_salts = 9;
  int consumed_salts_size() const;
  private:
  int _internal_consumed_salts_size() const;
  public:
  void clear_consumed_salts();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< uint32_t, bool >&
      _internal_consumed_salts() const;
  ::PROTOBUF_NAMESPACE_ID::Map< uint32_t, bool >*
      _internal_mutable_consumed_salts();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< uint32_t, bool >&
      consumed_salts() const;
  ::PROTOBUF_NAMESPACE_ID::Map< uint32_t, bool >*
      mutable_consumed_salts();

  // bytes secret_id = 1;
  void clear_secret_id();
  const std::string& secret_id() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_secret_id(ArgT0&& arg0, ArgT... args);
  std::string* mutable_secret_id();
  PROTOBUF_NODISCARD std::string* release_secret_id();
  void set_allocated_secret_id(std::string* secret_id);
  private:
  const std::string& _internal_secret_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_secret_id(const std::string& value);
  std::string* _internal_mutable_secret_id();
  public:

  // bytes key_seed = 2;
  void clear_key_seed();
  const std::string& key_seed() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_key_seed(ArgT0&& arg0, ArgT... args);
  std::string* mutable_key_seed();
  PROTOBUF_NODISCARD std::string* release_key_seed();
  void set_allocated_key_seed(std::string* key_seed);
  private:
  const std::string& _internal_key_seed() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_key_seed(const std::string& value);
  std::string* _internal_mutable_key_seed();
  public:

  // bytes metadata_encryption_key = 5;
  void clear_metadata_encryption_key();
  const std::string& metadata_encryption_key() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_metadata_encryption_key(ArgT0&& arg0, ArgT... args);
  std::string* mutable_metadata_encryption_key();
  PROTOBUF_NODISCARD std::string* release_metadata_encryption_key();
  void set_allocated_metadata_encryption_key(std::string* metadata_encryption_key);
  private:
  const std::string& _internal_metadata_encryption_key() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_metadata_encryption_key(const std::string& value);
  std::string* _internal_mutable_metadata_encryption_key();
  public:

  // .nearby.internal.LocalCredential.PrivateKey advertisement_signing_key = 6;
  bool has_advertisement_signing_key() const;
  private:
  bool _internal_has_advertisement_signing_key() const;
  public:
  void clear_advertisement_signing_key();
  const ::nearby::internal::LocalCredential_PrivateKey& advertisement_signing_key() const;
  PROTOBUF_NODISCARD ::nearby::internal::LocalCredential_PrivateKey* release_advertisement_signing_key();
  ::nearby::internal::LocalCredential_PrivateKey* mutable_advertisement_signing_key();
  void set_allocated_advertisement_signing_key(::nearby::internal::LocalCredential_PrivateKey* advertisement_signing_key);
  private:
  const ::nearby::internal::LocalCredential_PrivateKey& _internal_advertisement_signing_key() const;
  ::nearby::internal::LocalCredential_PrivateKey* _internal_mutable_advertisement_signing_key();
  public:
  void unsafe_arena_set_allocated_advertisement_signing_key(
      ::nearby::internal::LocalCredential_PrivateKey* advertisement_signing_key);
  ::nearby::internal::LocalCredential_PrivateKey* unsafe_arena_release_advertisement_signing_key();

  // .nearby.internal.LocalCredential.PrivateKey connection_signing_key = 7;
  bool has_connection_signing_key() const;
  private:
  bool _internal_has_connection_signing_key() const;
  public:
  void clear_connection_signing_key();
  const ::nearby::internal::LocalCredential_PrivateKey& connection_signing_key() const;
  PROTOBUF_NODISCARD ::nearby::internal::LocalCredential_PrivateKey* release_connection_signing_key();
  ::nearby::internal::LocalCredential_PrivateKey* mutable_connection_signing_key();
  void set_allocated_connection_signing_key(::nearby::internal::LocalCredential_PrivateKey* connection_signing_key);
  private:
  const ::nearby::internal::LocalCredential_PrivateKey& _internal_connection_signing_key() const;
  ::nearby::internal::LocalCredential_PrivateKey* _internal_mutable_connection_signing_key();
  public:
  void unsafe_arena_set_allocated_connection_signing_key(
      ::nearby::internal::LocalCredential_PrivateKey* connection_signing_key);
  ::nearby::internal::LocalCredential_PrivateKey* unsafe_arena_release_connection_signing_key();

  // int64 start_time_millis = 3;
  void clear_start_time_millis();
  int64_t start_time_millis() const;
  void set_start_time_millis(int64_t value);
  private:
  int64_t _internal_start_time_millis() const;
  void _internal_set_start_time_millis(int64_t value);
  public:

  // int64 end_time_millis = 4;
  void clear_end_time_millis();
  int64_t end_time_millis() const;
  void set_end_time_millis(int64_t value);
  private:
  int64_t _internal_end_time_millis() const;
  void _internal_set_end_time_millis(int64_t value);
  public:

  // .nearby.internal.IdentityType identity_type = 8;
  void clear_identity_type();
  ::nearby::internal::IdentityType identity_type() const;
  void set_identity_type(::nearby::internal::IdentityType value);
  private:
  ::nearby::internal::IdentityType _internal_identity_type() const;
  void _internal_set_identity_type(::nearby::internal::IdentityType value);
  public:

  // @@protoc_insertion_point(class_scope:nearby.internal.LocalCredential)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      LocalCredential_ConsumedSaltsEntry_DoNotUse,
      uint32_t, bool,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_BOOL> consumed_salts_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr secret_id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr key_seed_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr metadata_encryption_key_;
  ::nearby::internal::LocalCredential_PrivateKey* advertisement_signing_key_;
  ::nearby::internal::LocalCredential_PrivateKey* connection_signing_key_;
  int64_t start_time_millis_;
  int64_t end_time_millis_;
  int identity_type_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_internal_2fproto_2flocal_5fcredential_2eproto;
};
// ===================================================================


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

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// LocalCredential_PrivateKey

// string certificate_alias = 1;
inline void LocalCredential_PrivateKey::clear_certificate_alias() {
  certificate_alias_.ClearToEmpty();
}
inline const std::string& LocalCredential_PrivateKey::certificate_alias() const {
  // @@protoc_insertion_point(field_get:nearby.internal.LocalCredential.PrivateKey.certificate_alias)
  return _internal_certificate_alias();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void LocalCredential_PrivateKey::set_certificate_alias(ArgT0&& arg0, ArgT... args) {
 
 certificate_alias_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:nearby.internal.LocalCredential.PrivateKey.certificate_alias)
}
inline std::string* LocalCredential_PrivateKey::mutable_certificate_alias() {
  std::string* _s = _internal_mutable_certificate_alias();
  // @@protoc_insertion_point(field_mutable:nearby.internal.LocalCredential.PrivateKey.certificate_alias)
  return _s;
}
inline const std::string& LocalCredential_PrivateKey::_internal_certificate_alias() const {
  return certificate_alias_.Get();
}
inline void LocalCredential_PrivateKey::_internal_set_certificate_alias(const std::string& value) {
  
  certificate_alias_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* LocalCredential_PrivateKey::_internal_mutable_certificate_alias() {
  
  return certificate_alias_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* LocalCredential_PrivateKey::release_certificate_alias() {
  // @@protoc_insertion_point(field_release:nearby.internal.LocalCredential.PrivateKey.certificate_alias)
  return certificate_alias_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void LocalCredential_PrivateKey::set_allocated_certificate_alias(std::string* certificate_alias) {
  if (certificate_alias != nullptr) {
    
  } else {
    
  }
  certificate_alias_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), certificate_alias,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (certificate_alias_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    certificate_alias_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:nearby.internal.LocalCredential.PrivateKey.certificate_alias)
}

// bytes key = 2;
inline void LocalCredential_PrivateKey::clear_key() {
  key_.ClearToEmpty();
}
inline const std::string& LocalCredential_PrivateKey::key() const {
  // @@protoc_insertion_point(field_get:nearby.internal.LocalCredential.PrivateKey.key)
  return _internal_key();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void LocalCredential_PrivateKey::set_key(ArgT0&& arg0, ArgT... args) {
 
 key_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:nearby.internal.LocalCredential.PrivateKey.key)
}
inline std::string* LocalCredential_PrivateKey::mutable_key() {
  std::string* _s = _internal_mutable_key();
  // @@protoc_insertion_point(field_mutable:nearby.internal.LocalCredential.PrivateKey.key)
  return _s;
}
inline const std::string& LocalCredential_PrivateKey::_internal_key() const {
  return key_.Get();
}
inline void LocalCredential_PrivateKey::_internal_set_key(const std::string& value) {
  
  key_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* LocalCredential_PrivateKey::_internal_mutable_key() {
  
  return key_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* LocalCredential_PrivateKey::release_key() {
  // @@protoc_insertion_point(field_release:nearby.internal.LocalCredential.PrivateKey.key)
  return key_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void LocalCredential_PrivateKey::set_allocated_key(std::string* key) {
  if (key != nullptr) {
    
  } else {
    
  }
  key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), key,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (key_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:nearby.internal.LocalCredential.PrivateKey.key)
}

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

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

// LocalCredential

// bytes secret_id = 1;
inline void LocalCredential::clear_secret_id() {
  secret_id_.ClearToEmpty();
}
inline const std::string& LocalCredential::secret_id() const {
  // @@protoc_insertion_point(field_get:nearby.internal.LocalCredential.secret_id)
  return _internal_secret_id();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void LocalCredential::set_secret_id(ArgT0&& arg0, ArgT... args) {
 
 secret_id_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:nearby.internal.LocalCredential.secret_id)
}
inline std::string* LocalCredential::mutable_secret_id() {
  std::string* _s = _internal_mutable_secret_id();
  // @@protoc_insertion_point(field_mutable:nearby.internal.LocalCredential.secret_id)
  return _s;
}
inline const std::string& LocalCredential::_internal_secret_id() const {
  return secret_id_.Get();
}
inline void LocalCredential::_internal_set_secret_id(const std::string& value) {
  
  secret_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* LocalCredential::_internal_mutable_secret_id() {
  
  return secret_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* LocalCredential::release_secret_id() {
  // @@protoc_insertion_point(field_release:nearby.internal.LocalCredential.secret_id)
  return secret_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void LocalCredential::set_allocated_secret_id(std::string* secret_id) {
  if (secret_id != nullptr) {
    
  } else {
    
  }
  secret_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), secret_id,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (secret_id_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    secret_id_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:nearby.internal.LocalCredential.secret_id)
}

// bytes key_seed = 2;
inline void LocalCredential::clear_key_seed() {
  key_seed_.ClearToEmpty();
}
inline const std::string& LocalCredential::key_seed() const {
  // @@protoc_insertion_point(field_get:nearby.internal.LocalCredential.key_seed)
  return _internal_key_seed();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void LocalCredential::set_key_seed(ArgT0&& arg0, ArgT... args) {
 
 key_seed_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:nearby.internal.LocalCredential.key_seed)
}
inline std::string* LocalCredential::mutable_key_seed() {
  std::string* _s = _internal_mutable_key_seed();
  // @@protoc_insertion_point(field_mutable:nearby.internal.LocalCredential.key_seed)
  return _s;
}
inline const std::string& LocalCredential::_internal_key_seed() const {
  return key_seed_.Get();
}
inline void LocalCredential::_internal_set_key_seed(const std::string& value) {
  
  key_seed_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* LocalCredential::_internal_mutable_key_seed() {
  
  return key_seed_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* LocalCredential::release_key_seed() {
  // @@protoc_insertion_point(field_release:nearby.internal.LocalCredential.key_seed)
  return key_seed_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void LocalCredential::set_allocated_key_seed(std::string* key_seed) {
  if (key_seed != nullptr) {
    
  } else {
    
  }
  key_seed_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), key_seed,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (key_seed_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    key_seed_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:nearby.internal.LocalCredential.key_seed)
}

// int64 start_time_millis = 3;
inline void LocalCredential::clear_start_time_millis() {
  start_time_millis_ = int64_t{0};
}
inline int64_t LocalCredential::_internal_start_time_millis() const {
  return start_time_millis_;
}
inline int64_t LocalCredential::start_time_millis() const {
  // @@protoc_insertion_point(field_get:nearby.internal.LocalCredential.start_time_millis)
  return _internal_start_time_millis();
}
inline void LocalCredential::_internal_set_start_time_millis(int64_t value) {
  
  start_time_millis_ = value;
}
inline void LocalCredential::set_start_time_millis(int64_t value) {
  _internal_set_start_time_millis(value);
  // @@protoc_insertion_point(field_set:nearby.internal.LocalCredential.start_time_millis)
}

// int64 end_time_millis = 4;
inline void LocalCredential::clear_end_time_millis() {
  end_time_millis_ = int64_t{0};
}
inline int64_t LocalCredential::_internal_end_time_millis() const {
  return end_time_millis_;
}
inline int64_t LocalCredential::end_time_millis() const {
  // @@protoc_insertion_point(field_get:nearby.internal.LocalCredential.end_time_millis)
  return _internal_end_time_millis();
}
inline void LocalCredential::_internal_set_end_time_millis(int64_t value) {
  
  end_time_millis_ = value;
}
inline void LocalCredential::set_end_time_millis(int64_t value) {
  _internal_set_end_time_millis(value);
  // @@protoc_insertion_point(field_set:nearby.internal.LocalCredential.end_time_millis)
}

// bytes metadata_encryption_key = 5;
inline void LocalCredential::clear_metadata_encryption_key() {
  metadata_encryption_key_.ClearToEmpty();
}
inline const std::string& LocalCredential::metadata_encryption_key() const {
  // @@protoc_insertion_point(field_get:nearby.internal.LocalCredential.metadata_encryption_key)
  return _internal_metadata_encryption_key();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void LocalCredential::set_metadata_encryption_key(ArgT0&& arg0, ArgT... args) {
 
 metadata_encryption_key_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:nearby.internal.LocalCredential.metadata_encryption_key)
}
inline std::string* LocalCredential::mutable_metadata_encryption_key() {
  std::string* _s = _internal_mutable_metadata_encryption_key();
  // @@protoc_insertion_point(field_mutable:nearby.internal.LocalCredential.metadata_encryption_key)
  return _s;
}
inline const std::string& LocalCredential::_internal_metadata_encryption_key() const {
  return metadata_encryption_key_.Get();
}
inline void LocalCredential::_internal_set_metadata_encryption_key(const std::string& value) {
  
  metadata_encryption_key_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* LocalCredential::_internal_mutable_metadata_encryption_key() {
  
  return metadata_encryption_key_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* LocalCredential::release_metadata_encryption_key() {
  // @@protoc_insertion_point(field_release:nearby.internal.LocalCredential.metadata_encryption_key)
  return metadata_encryption_key_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void LocalCredential::set_allocated_metadata_encryption_key(std::string* metadata_encryption_key) {
  if (metadata_encryption_key != nullptr) {
    
  } else {
    
  }
  metadata_encryption_key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), metadata_encryption_key,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (metadata_encryption_key_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    metadata_encryption_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:nearby.internal.LocalCredential.metadata_encryption_key)
}

// .nearby.internal.LocalCredential.PrivateKey advertisement_signing_key = 6;
inline bool LocalCredential::_internal_has_advertisement_signing_key() const {
  return this != internal_default_instance() && advertisement_signing_key_ != nullptr;
}
inline bool LocalCredential::has_advertisement_signing_key() const {
  return _internal_has_advertisement_signing_key();
}
inline void LocalCredential::clear_advertisement_signing_key() {
  if (GetArenaForAllocation() == nullptr && advertisement_signing_key_ != nullptr) {
    delete advertisement_signing_key_;
  }
  advertisement_signing_key_ = nullptr;
}
inline const ::nearby::internal::LocalCredential_PrivateKey& LocalCredential::_internal_advertisement_signing_key() const {
  const ::nearby::internal::LocalCredential_PrivateKey* p = advertisement_signing_key_;
  return p != nullptr ? *p : reinterpret_cast<const ::nearby::internal::LocalCredential_PrivateKey&>(
      ::nearby::internal::_LocalCredential_PrivateKey_default_instance_);
}
inline const ::nearby::internal::LocalCredential_PrivateKey& LocalCredential::advertisement_signing_key() const {
  // @@protoc_insertion_point(field_get:nearby.internal.LocalCredential.advertisement_signing_key)
  return _internal_advertisement_signing_key();
}
inline void LocalCredential::unsafe_arena_set_allocated_advertisement_signing_key(
    ::nearby::internal::LocalCredential_PrivateKey* advertisement_signing_key) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(advertisement_signing_key_);
  }
  advertisement_signing_key_ = advertisement_signing_key;
  if (advertisement_signing_key) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:nearby.internal.LocalCredential.advertisement_signing_key)
}
inline ::nearby::internal::LocalCredential_PrivateKey* LocalCredential::release_advertisement_signing_key() {
  
  ::nearby::internal::LocalCredential_PrivateKey* temp = advertisement_signing_key_;
  advertisement_signing_key_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::nearby::internal::LocalCredential_PrivateKey* LocalCredential::unsafe_arena_release_advertisement_signing_key() {
  // @@protoc_insertion_point(field_release:nearby.internal.LocalCredential.advertisement_signing_key)
  
  ::nearby::internal::LocalCredential_PrivateKey* temp = advertisement_signing_key_;
  advertisement_signing_key_ = nullptr;
  return temp;
}
inline ::nearby::internal::LocalCredential_PrivateKey* LocalCredential::_internal_mutable_advertisement_signing_key() {
  
  if (advertisement_signing_key_ == nullptr) {
    auto* p = CreateMaybeMessage<::nearby::internal::LocalCredential_PrivateKey>(GetArenaForAllocation());
    advertisement_signing_key_ = p;
  }
  return advertisement_signing_key_;
}
inline ::nearby::internal::LocalCredential_PrivateKey* LocalCredential::mutable_advertisement_signing_key() {
  ::nearby::internal::LocalCredential_PrivateKey* _msg = _internal_mutable_advertisement_signing_key();
  // @@protoc_insertion_point(field_mutable:nearby.internal.LocalCredential.advertisement_signing_key)
  return _msg;
}
inline void LocalCredential::set_allocated_advertisement_signing_key(::nearby::internal::LocalCredential_PrivateKey* advertisement_signing_key) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete advertisement_signing_key_;
  }
  if (advertisement_signing_key) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::nearby::internal::LocalCredential_PrivateKey>::GetOwningArena(advertisement_signing_key);
    if (message_arena != submessage_arena) {
      advertisement_signing_key = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, advertisement_signing_key, submessage_arena);
    }
    
  } else {
    
  }
  advertisement_signing_key_ = advertisement_signing_key;
  // @@protoc_insertion_point(field_set_allocated:nearby.internal.LocalCredential.advertisement_signing_key)
}

// .nearby.internal.LocalCredential.PrivateKey connection_signing_key = 7;
inline bool LocalCredential::_internal_has_connection_signing_key() const {
  return this != internal_default_instance() && connection_signing_key_ != nullptr;
}
inline bool LocalCredential::has_connection_signing_key() const {
  return _internal_has_connection_signing_key();
}
inline void LocalCredential::clear_connection_signing_key() {
  if (GetArenaForAllocation() == nullptr && connection_signing_key_ != nullptr) {
    delete connection_signing_key_;
  }
  connection_signing_key_ = nullptr;
}
inline const ::nearby::internal::LocalCredential_PrivateKey& LocalCredential::_internal_connection_signing_key() const {
  const ::nearby::internal::LocalCredential_PrivateKey* p = connection_signing_key_;
  return p != nullptr ? *p : reinterpret_cast<const ::nearby::internal::LocalCredential_PrivateKey&>(
      ::nearby::internal::_LocalCredential_PrivateKey_default_instance_);
}
inline const ::nearby::internal::LocalCredential_PrivateKey& LocalCredential::connection_signing_key() const {
  // @@protoc_insertion_point(field_get:nearby.internal.LocalCredential.connection_signing_key)
  return _internal_connection_signing_key();
}
inline void LocalCredential::unsafe_arena_set_allocated_connection_signing_key(
    ::nearby::internal::LocalCredential_PrivateKey* connection_signing_key) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(connection_signing_key_);
  }
  connection_signing_key_ = connection_signing_key;
  if (connection_signing_key) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:nearby.internal.LocalCredential.connection_signing_key)
}
inline ::nearby::internal::LocalCredential_PrivateKey* LocalCredential::release_connection_signing_key() {
  
  ::nearby::internal::LocalCredential_PrivateKey* temp = connection_signing_key_;
  connection_signing_key_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::nearby::internal::LocalCredential_PrivateKey* LocalCredential::unsafe_arena_release_connection_signing_key() {
  // @@protoc_insertion_point(field_release:nearby.internal.LocalCredential.connection_signing_key)
  
  ::nearby::internal::LocalCredential_PrivateKey* temp = connection_signing_key_;
  connection_signing_key_ = nullptr;
  return temp;
}
inline ::nearby::internal::LocalCredential_PrivateKey* LocalCredential::_internal_mutable_connection_signing_key() {
  
  if (connection_signing_key_ == nullptr) {
    auto* p = CreateMaybeMessage<::nearby::internal::LocalCredential_PrivateKey>(GetArenaForAllocation());
    connection_signing_key_ = p;
  }
  return connection_signing_key_;
}
inline ::nearby::internal::LocalCredential_PrivateKey* LocalCredential::mutable_connection_signing_key() {
  ::nearby::internal::LocalCredential_PrivateKey* _msg = _internal_mutable_connection_signing_key();
  // @@protoc_insertion_point(field_mutable:nearby.internal.LocalCredential.connection_signing_key)
  return _msg;
}
inline void LocalCredential::set_allocated_connection_signing_key(::nearby::internal::LocalCredential_PrivateKey* connection_signing_key) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete connection_signing_key_;
  }
  if (connection_signing_key) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::nearby::internal::LocalCredential_PrivateKey>::GetOwningArena(connection_signing_key);
    if (message_arena != submessage_arena) {
      connection_signing_key = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, connection_signing_key, submessage_arena);
    }
    
  } else {
    
  }
  connection_signing_key_ = connection_signing_key;
  // @@protoc_insertion_point(field_set_allocated:nearby.internal.LocalCredential.connection_signing_key)
}

// .nearby.internal.IdentityType identity_type = 8;
inline void LocalCredential::clear_identity_type() {
  identity_type_ = 0;
}
inline ::nearby::internal::IdentityType LocalCredential::_internal_identity_type() const {
  return static_cast< ::nearby::internal::IdentityType >(identity_type_);
}
inline ::nearby::internal::IdentityType LocalCredential::identity_type() const {
  // @@protoc_insertion_point(field_get:nearby.internal.LocalCredential.identity_type)
  return _internal_identity_type();
}
inline void LocalCredential::_internal_set_identity_type(::nearby::internal::IdentityType value) {
  
  identity_type_ = value;
}
inline void LocalCredential::set_identity_type(::nearby::internal::IdentityType value) {
  _internal_set_identity_type(value);
  // @@protoc_insertion_point(field_set:nearby.internal.LocalCredential.identity_type)
}

// map<uint32, bool> consumed_salts = 9;
inline int LocalCredential::_internal_consumed_salts_size() const {
  return consumed_salts_.size();
}
inline int LocalCredential::consumed_salts_size() const {
  return _internal_consumed_salts_size();
}
inline void LocalCredential::clear_consumed_salts() {
  consumed_salts_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< uint32_t, bool >&
LocalCredential::_internal_consumed_salts() const {
  return consumed_salts_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< uint32_t, bool >&
LocalCredential::consumed_salts() const {
  // @@protoc_insertion_point(field_map:nearby.internal.LocalCredential.consumed_salts)
  return _internal_consumed_salts();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< uint32_t, bool >*
LocalCredential::_internal_mutable_consumed_salts() {
  return consumed_salts_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< uint32_t, bool >*
LocalCredential::mutable_consumed_salts() {
  // @@protoc_insertion_point(field_mutable_map:nearby.internal.LocalCredential.consumed_salts)
  return _internal_mutable_consumed_salts();
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace internal
}  // namespace nearby

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_internal_2fproto_2flocal_5fcredential_2eproto
