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

#ifndef PROTOBUF_searchcontact_2eproto__INCLUDED
#define PROTOBUF_searchcontact_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 3003000
#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 3003000 < GOOGLE_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/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.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/unknown_field_set.h>
// @@protoc_insertion_point(includes)
namespace com {
namespace tencent {
namespace mars {
namespace microchat {
namespace proto {
class GetContactRequest;
class GetContactRequestDefaultTypeInternal;
extern GetContactRequestDefaultTypeInternal _GetContactRequest_default_instance_;
class GetContactRequest_LoginInfo;
class GetContactRequest_LoginInfoDefaultTypeInternal;
extern GetContactRequest_LoginInfoDefaultTypeInternal _GetContactRequest_LoginInfo_default_instance_;
class GetContactRequest__SearchName;
class GetContactRequest__SearchNameDefaultTypeInternal;
extern GetContactRequest__SearchNameDefaultTypeInternal _GetContactRequest__SearchName_default_instance_;
class GetContactRequest__tag7;
class GetContactRequest__tag7DefaultTypeInternal;
extern GetContactRequest__tag7DefaultTypeInternal _GetContactRequest__tag7_default_instance_;
class GetContactResponse;
class GetContactResponseDefaultTypeInternal;
extern GetContactResponseDefaultTypeInternal _GetContactResponse_default_instance_;
class GetContactResponse__Result;
class GetContactResponse__ResultDefaultTypeInternal;
extern GetContactResponse__ResultDefaultTypeInternal _GetContactResponse__Result_default_instance_;
class GetContactResponse__Result__Result;
class GetContactResponse__Result__ResultDefaultTypeInternal;
extern GetContactResponse__Result__ResultDefaultTypeInternal _GetContactResponse__Result__Result_default_instance_;
class GetContactResponse__tag3;
class GetContactResponse__tag3DefaultTypeInternal;
extern GetContactResponse__tag3DefaultTypeInternal _GetContactResponse__tag3_default_instance_;
class GetContactResponse__tag3__NickName;
class GetContactResponse__tag3__NickNameDefaultTypeInternal;
extern GetContactResponse__tag3__NickNameDefaultTypeInternal _GetContactResponse__tag3__NickName_default_instance_;
class GetContactResponse__tag3__V1;
class GetContactResponse__tag3__V1DefaultTypeInternal;
extern GetContactResponse__tag3__V1DefaultTypeInternal _GetContactResponse__tag3__V1_default_instance_;
class SearchContactRequest;
class SearchContactRequestDefaultTypeInternal;
extern SearchContactRequestDefaultTypeInternal _SearchContactRequest_default_instance_;
class SearchContactRequest_LoginInfo;
class SearchContactRequest_LoginInfoDefaultTypeInternal;
extern SearchContactRequest_LoginInfoDefaultTypeInternal _SearchContactRequest_LoginInfo_default_instance_;
class SearchContactRequest__SearchName;
class SearchContactRequest__SearchNameDefaultTypeInternal;
extern SearchContactRequest__SearchNameDefaultTypeInternal _SearchContactRequest__SearchName_default_instance_;
class SearchContactResponse;
class SearchContactResponseDefaultTypeInternal;
extern SearchContactResponseDefaultTypeInternal _SearchContactResponse_default_instance_;
class SearchContactResponse__NickName;
class SearchContactResponse__NickNameDefaultTypeInternal;
extern SearchContactResponse__NickNameDefaultTypeInternal _SearchContactResponse__NickName_default_instance_;
class SearchContactResponse__Result;
class SearchContactResponse__ResultDefaultTypeInternal;
extern SearchContactResponse__ResultDefaultTypeInternal _SearchContactResponse__Result_default_instance_;
class SearchContactResponse__Result__Result;
class SearchContactResponse__Result__ResultDefaultTypeInternal;
extern SearchContactResponse__Result__ResultDefaultTypeInternal _SearchContactResponse__Result__Result_default_instance_;
class SearchContactResponse__V1;
class SearchContactResponse__V1DefaultTypeInternal;
extern SearchContactResponse__V1DefaultTypeInternal _SearchContactResponse__V1_default_instance_;
}  // namespace proto
}  // namespace microchat
}  // namespace mars
}  // namespace tencent
}  // namespace com

namespace com {
namespace tencent {
namespace mars {
namespace microchat {
namespace proto {

namespace protobuf_searchcontact_2eproto {
// Internal implementation detail -- do not call these.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[];
  static const ::google::protobuf::uint32 offsets[];
  static void InitDefaultsImpl();
  static void Shutdown();
};
void AddDescriptors();
void InitDefaults();
}  // namespace protobuf_searchcontact_2eproto

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

class SearchContactRequest_LoginInfo : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo) */ {
 public:
  SearchContactRequest_LoginInfo();
  virtual ~SearchContactRequest_LoginInfo();

  SearchContactRequest_LoginInfo(const SearchContactRequest_LoginInfo& from);

  inline SearchContactRequest_LoginInfo& operator=(const SearchContactRequest_LoginInfo& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SearchContactRequest_LoginInfo& default_instance();

  static inline const SearchContactRequest_LoginInfo* internal_default_instance() {
    return reinterpret_cast<const SearchContactRequest_LoginInfo*>(
               &_SearchContactRequest_LoginInfo_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    0;

  void Swap(SearchContactRequest_LoginInfo* other);

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

  inline SearchContactRequest_LoginInfo* New() const PROTOBUF_FINAL { return New(NULL); }

  SearchContactRequest_LoginInfo* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const SearchContactRequest_LoginInfo& from);
  void MergeFrom(const SearchContactRequest_LoginInfo& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(SearchContactRequest_LoginInfo* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // required string aesKey = 1;
  bool has_aeskey() const;
  void clear_aeskey();
  static const int kAesKeyFieldNumber = 1;
  const ::std::string& aeskey() const;
  void set_aeskey(const ::std::string& value);
  #if LANG_CXX11
  void set_aeskey(::std::string&& value);
  #endif
  void set_aeskey(const char* value);
  void set_aeskey(const char* value, size_t size);
  ::std::string* mutable_aeskey();
  ::std::string* release_aeskey();
  void set_allocated_aeskey(::std::string* aeskey);

  // required string guid = 3;
  bool has_guid() const;
  void clear_guid();
  static const int kGuidFieldNumber = 3;
  const ::std::string& guid() const;
  void set_guid(const ::std::string& value);
  #if LANG_CXX11
  void set_guid(::std::string&& value);
  #endif
  void set_guid(const char* value);
  void set_guid(const char* value, size_t size);
  ::std::string* mutable_guid();
  ::std::string* release_guid();
  void set_allocated_guid(::std::string* guid);

  // required string androidVer = 5;
  bool has_androidver() const;
  void clear_androidver();
  static const int kAndroidVerFieldNumber = 5;
  const ::std::string& androidver() const;
  void set_androidver(const ::std::string& value);
  #if LANG_CXX11
  void set_androidver(::std::string&& value);
  #endif
  void set_androidver(const char* value);
  void set_androidver(const char* value, size_t size);
  ::std::string* mutable_androidver();
  ::std::string* release_androidver();
  void set_allocated_androidver(::std::string* androidver);

  // required int32 uin = 2;
  bool has_uin() const;
  void clear_uin();
  static const int kUinFieldNumber = 2;
  ::google::protobuf::int32 uin() const;
  void set_uin(::google::protobuf::int32 value);

  // required int32 clientVer = 4;
  bool has_clientver() const;
  void clear_clientver();
  static const int kClientVerFieldNumber = 4;
  ::google::protobuf::int32 clientver() const;
  void set_clientver(::google::protobuf::int32 value);

  // required int32 unknown3 = 6;
  bool has_unknown3() const;
  void clear_unknown3();
  static const int kUnknown3FieldNumber = 6;
  ::google::protobuf::int32 unknown3() const;
  void set_unknown3(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo)
 private:
  void set_has_aeskey();
  void clear_has_aeskey();
  void set_has_uin();
  void clear_has_uin();
  void set_has_guid();
  void clear_has_guid();
  void set_has_clientver();
  void clear_has_clientver();
  void set_has_androidver();
  void clear_has_androidver();
  void set_has_unknown3();
  void clear_has_unknown3();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr aeskey_;
  ::google::protobuf::internal::ArenaStringPtr guid_;
  ::google::protobuf::internal::ArenaStringPtr androidver_;
  ::google::protobuf::int32 uin_;
  ::google::protobuf::int32 clientver_;
  ::google::protobuf::int32 unknown3_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class SearchContactRequest__SearchName : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.SearchContactRequest._SearchName) */ {
 public:
  SearchContactRequest__SearchName();
  virtual ~SearchContactRequest__SearchName();

  SearchContactRequest__SearchName(const SearchContactRequest__SearchName& from);

  inline SearchContactRequest__SearchName& operator=(const SearchContactRequest__SearchName& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SearchContactRequest__SearchName& default_instance();

  static inline const SearchContactRequest__SearchName* internal_default_instance() {
    return reinterpret_cast<const SearchContactRequest__SearchName*>(
               &_SearchContactRequest__SearchName_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    1;

  void Swap(SearchContactRequest__SearchName* other);

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

  inline SearchContactRequest__SearchName* New() const PROTOBUF_FINAL { return New(NULL); }

  SearchContactRequest__SearchName* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const SearchContactRequest__SearchName& from);
  void MergeFrom(const SearchContactRequest__SearchName& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(SearchContactRequest__SearchName* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // required string name = 1;
  bool has_name() const;
  void clear_name();
  static const int kNameFieldNumber = 1;
  const ::std::string& name() const;
  void set_name(const ::std::string& value);
  #if LANG_CXX11
  void set_name(::std::string&& value);
  #endif
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  ::std::string* mutable_name();
  ::std::string* release_name();
  void set_allocated_name(::std::string* name);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.SearchContactRequest._SearchName)
 private:
  void set_has_name();
  void clear_has_name();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr name_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class SearchContactRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.SearchContactRequest) */ {
 public:
  SearchContactRequest();
  virtual ~SearchContactRequest();

  SearchContactRequest(const SearchContactRequest& from);

  inline SearchContactRequest& operator=(const SearchContactRequest& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SearchContactRequest& default_instance();

  static inline const SearchContactRequest* internal_default_instance() {
    return reinterpret_cast<const SearchContactRequest*>(
               &_SearchContactRequest_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    2;

  void Swap(SearchContactRequest* other);

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

  inline SearchContactRequest* New() const PROTOBUF_FINAL { return New(NULL); }

  SearchContactRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const SearchContactRequest& from);
  void MergeFrom(const SearchContactRequest& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(SearchContactRequest* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

  typedef SearchContactRequest_LoginInfo LoginInfo;
  typedef SearchContactRequest__SearchName _SearchName;

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

  // required .com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo login = 1;
  bool has_login() const;
  void clear_login();
  static const int kLoginFieldNumber = 1;
  const ::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo& login() const;
  ::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo* mutable_login();
  ::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo* release_login();
  void set_allocated_login(::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo* login);

  // required .com.tencent.mars.microchat.proto.SearchContactRequest._SearchName name = 2;
  bool has_name() const;
  void clear_name();
  static const int kNameFieldNumber = 2;
  const ::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName& name() const;
  ::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName* mutable_name();
  ::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName* release_name();
  void set_allocated_name(::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName* name);

  // optional int32 tag3 = 3;
  bool has_tag3() const;
  void clear_tag3();
  static const int kTag3FieldNumber = 3;
  ::google::protobuf::int32 tag3() const;
  void set_tag3(::google::protobuf::int32 value);

  // optional int32 tag5 = 5;
  bool has_tag5() const;
  void clear_tag5();
  static const int kTag5FieldNumber = 5;
  ::google::protobuf::int32 tag5() const;
  void set_tag5(::google::protobuf::int32 value);

  // optional int32 tag6 = 6;
  bool has_tag6() const;
  void clear_tag6();
  static const int kTag6FieldNumber = 6;
  ::google::protobuf::int32 tag6() const;
  void set_tag6(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.SearchContactRequest)
 private:
  void set_has_login();
  void clear_has_login();
  void set_has_name();
  void clear_has_name();
  void set_has_tag3();
  void clear_has_tag3();
  void set_has_tag5();
  void clear_has_tag5();
  void set_has_tag6();
  void clear_has_tag6();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo* login_;
  ::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName* name_;
  ::google::protobuf::int32 tag3_;
  ::google::protobuf::int32 tag5_;
  ::google::protobuf::int32 tag6_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class SearchContactResponse__Result__Result : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result) */ {
 public:
  SearchContactResponse__Result__Result();
  virtual ~SearchContactResponse__Result__Result();

  SearchContactResponse__Result__Result(const SearchContactResponse__Result__Result& from);

  inline SearchContactResponse__Result__Result& operator=(const SearchContactResponse__Result__Result& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SearchContactResponse__Result__Result& default_instance();

  static inline const SearchContactResponse__Result__Result* internal_default_instance() {
    return reinterpret_cast<const SearchContactResponse__Result__Result*>(
               &_SearchContactResponse__Result__Result_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    3;

  void Swap(SearchContactResponse__Result__Result* other);

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

  inline SearchContactResponse__Result__Result* New() const PROTOBUF_FINAL { return New(NULL); }

  SearchContactResponse__Result__Result* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const SearchContactResponse__Result__Result& from);
  void MergeFrom(const SearchContactResponse__Result__Result& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(SearchContactResponse__Result__Result* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // optional string strResult = 1;
  bool has_strresult() const;
  void clear_strresult();
  static const int kStrResultFieldNumber = 1;
  const ::std::string& strresult() const;
  void set_strresult(const ::std::string& value);
  #if LANG_CXX11
  void set_strresult(::std::string&& value);
  #endif
  void set_strresult(const char* value);
  void set_strresult(const char* value, size_t size);
  ::std::string* mutable_strresult();
  ::std::string* release_strresult();
  void set_allocated_strresult(::std::string* strresult);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result)
 private:
  void set_has_strresult();
  void clear_has_strresult();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr strresult_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class SearchContactResponse__Result : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.SearchContactResponse._Result) */ {
 public:
  SearchContactResponse__Result();
  virtual ~SearchContactResponse__Result();

  SearchContactResponse__Result(const SearchContactResponse__Result& from);

  inline SearchContactResponse__Result& operator=(const SearchContactResponse__Result& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SearchContactResponse__Result& default_instance();

  static inline const SearchContactResponse__Result* internal_default_instance() {
    return reinterpret_cast<const SearchContactResponse__Result*>(
               &_SearchContactResponse__Result_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    4;

  void Swap(SearchContactResponse__Result* other);

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

  inline SearchContactResponse__Result* New() const PROTOBUF_FINAL { return New(NULL); }

  SearchContactResponse__Result* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const SearchContactResponse__Result& from);
  void MergeFrom(const SearchContactResponse__Result& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(SearchContactResponse__Result* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

  typedef SearchContactResponse__Result__Result _Result;

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

  // optional .com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result result = 2;
  bool has_result() const;
  void clear_result();
  static const int kResultFieldNumber = 2;
  const ::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result& result() const;
  ::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result* mutable_result();
  ::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result* release_result();
  void set_allocated_result(::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result* result);

  // optional int32 code = 1;
  bool has_code() const;
  void clear_code();
  static const int kCodeFieldNumber = 1;
  ::google::protobuf::int32 code() const;
  void set_code(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.SearchContactResponse._Result)
 private:
  void set_has_code();
  void clear_has_code();
  void set_has_result();
  void clear_has_result();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result* result_;
  ::google::protobuf::int32 code_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class SearchContactResponse__V1 : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.SearchContactResponse._V1) */ {
 public:
  SearchContactResponse__V1();
  virtual ~SearchContactResponse__V1();

  SearchContactResponse__V1(const SearchContactResponse__V1& from);

  inline SearchContactResponse__V1& operator=(const SearchContactResponse__V1& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SearchContactResponse__V1& default_instance();

  static inline const SearchContactResponse__V1* internal_default_instance() {
    return reinterpret_cast<const SearchContactResponse__V1*>(
               &_SearchContactResponse__V1_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    5;

  void Swap(SearchContactResponse__V1* other);

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

  inline SearchContactResponse__V1* New() const PROTOBUF_FINAL { return New(NULL); }

  SearchContactResponse__V1* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const SearchContactResponse__V1& from);
  void MergeFrom(const SearchContactResponse__V1& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(SearchContactResponse__V1* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // optional string v1_Name = 1;
  bool has_v1_name() const;
  void clear_v1_name();
  static const int kV1NameFieldNumber = 1;
  const ::std::string& v1_name() const;
  void set_v1_name(const ::std::string& value);
  #if LANG_CXX11
  void set_v1_name(::std::string&& value);
  #endif
  void set_v1_name(const char* value);
  void set_v1_name(const char* value, size_t size);
  ::std::string* mutable_v1_name();
  ::std::string* release_v1_name();
  void set_allocated_v1_name(::std::string* v1_name);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.SearchContactResponse._V1)
 private:
  void set_has_v1_name();
  void clear_has_v1_name();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr v1_name_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class SearchContactResponse__NickName : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.SearchContactResponse._NickName) */ {
 public:
  SearchContactResponse__NickName();
  virtual ~SearchContactResponse__NickName();

  SearchContactResponse__NickName(const SearchContactResponse__NickName& from);

  inline SearchContactResponse__NickName& operator=(const SearchContactResponse__NickName& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SearchContactResponse__NickName& default_instance();

  static inline const SearchContactResponse__NickName* internal_default_instance() {
    return reinterpret_cast<const SearchContactResponse__NickName*>(
               &_SearchContactResponse__NickName_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    6;

  void Swap(SearchContactResponse__NickName* other);

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

  inline SearchContactResponse__NickName* New() const PROTOBUF_FINAL { return New(NULL); }

  SearchContactResponse__NickName* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const SearchContactResponse__NickName& from);
  void MergeFrom(const SearchContactResponse__NickName& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(SearchContactResponse__NickName* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // optional string name = 1;
  bool has_name() const;
  void clear_name();
  static const int kNameFieldNumber = 1;
  const ::std::string& name() const;
  void set_name(const ::std::string& value);
  #if LANG_CXX11
  void set_name(::std::string&& value);
  #endif
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  ::std::string* mutable_name();
  ::std::string* release_name();
  void set_allocated_name(::std::string* name);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.SearchContactResponse._NickName)
 private:
  void set_has_name();
  void clear_has_name();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr name_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class SearchContactResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.SearchContactResponse) */ {
 public:
  SearchContactResponse();
  virtual ~SearchContactResponse();

  SearchContactResponse(const SearchContactResponse& from);

  inline SearchContactResponse& operator=(const SearchContactResponse& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SearchContactResponse& default_instance();

  static inline const SearchContactResponse* internal_default_instance() {
    return reinterpret_cast<const SearchContactResponse*>(
               &_SearchContactResponse_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    7;

  void Swap(SearchContactResponse* other);

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

  inline SearchContactResponse* New() const PROTOBUF_FINAL { return New(NULL); }

  SearchContactResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const SearchContactResponse& from);
  void MergeFrom(const SearchContactResponse& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(SearchContactResponse* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

  typedef SearchContactResponse__Result _Result;
  typedef SearchContactResponse__V1 _V1;
  typedef SearchContactResponse__NickName _NickName;

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

  // optional string headicon = 28;
  bool has_headicon() const;
  void clear_headicon();
  static const int kHeadiconFieldNumber = 28;
  const ::std::string& headicon() const;
  void set_headicon(const ::std::string& value);
  #if LANG_CXX11
  void set_headicon(::std::string&& value);
  #endif
  void set_headicon(const char* value);
  void set_headicon(const char* value, size_t size);
  ::std::string* mutable_headicon();
  ::std::string* release_headicon();
  void set_allocated_headicon(::std::string* headicon);

  // optional string v2_name = 30;
  bool has_v2_name() const;
  void clear_v2_name();
  static const int kV2NameFieldNumber = 30;
  const ::std::string& v2_name() const;
  void set_v2_name(const ::std::string& value);
  #if LANG_CXX11
  void set_v2_name(::std::string&& value);
  #endif
  void set_v2_name(const char* value);
  void set_v2_name(const char* value, size_t size);
  ::std::string* mutable_v2_name();
  ::std::string* release_v2_name();
  void set_allocated_v2_name(::std::string* v2_name);

  // optional .com.tencent.mars.microchat.proto.SearchContactResponse._Result tag1 = 1;
  bool has_tag1() const;
  void clear_tag1();
  static const int kTag1FieldNumber = 1;
  const ::com::tencent::mars::microchat::proto::SearchContactResponse__Result& tag1() const;
  ::com::tencent::mars::microchat::proto::SearchContactResponse__Result* mutable_tag1();
  ::com::tencent::mars::microchat::proto::SearchContactResponse__Result* release_tag1();
  void set_allocated_tag1(::com::tencent::mars::microchat::proto::SearchContactResponse__Result* tag1);

  // optional .com.tencent.mars.microchat.proto.SearchContactResponse._V1 v1 = 2;
  bool has_v1() const;
  void clear_v1();
  static const int kV1FieldNumber = 2;
  const ::com::tencent::mars::microchat::proto::SearchContactResponse__V1& v1() const;
  ::com::tencent::mars::microchat::proto::SearchContactResponse__V1* mutable_v1();
  ::com::tencent::mars::microchat::proto::SearchContactResponse__V1* release_v1();
  void set_allocated_v1(::com::tencent::mars::microchat::proto::SearchContactResponse__V1* v1);

  // optional .com.tencent.mars.microchat.proto.SearchContactResponse._NickName nickname = 3;
  bool has_nickname() const;
  void clear_nickname();
  static const int kNicknameFieldNumber = 3;
  const ::com::tencent::mars::microchat::proto::SearchContactResponse__NickName& nickname() const;
  ::com::tencent::mars::microchat::proto::SearchContactResponse__NickName* mutable_nickname();
  ::com::tencent::mars::microchat::proto::SearchContactResponse__NickName* release_nickname();
  void set_allocated_nickname(::com::tencent::mars::microchat::proto::SearchContactResponse__NickName* nickname);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.SearchContactResponse)
 private:
  void set_has_tag1();
  void clear_has_tag1();
  void set_has_v1();
  void clear_has_v1();
  void set_has_nickname();
  void clear_has_nickname();
  void set_has_headicon();
  void clear_has_headicon();
  void set_has_v2_name();
  void clear_has_v2_name();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr headicon_;
  ::google::protobuf::internal::ArenaStringPtr v2_name_;
  ::com::tencent::mars::microchat::proto::SearchContactResponse__Result* tag1_;
  ::com::tencent::mars::microchat::proto::SearchContactResponse__V1* v1_;
  ::com::tencent::mars::microchat::proto::SearchContactResponse__NickName* nickname_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class GetContactRequest_LoginInfo : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo) */ {
 public:
  GetContactRequest_LoginInfo();
  virtual ~GetContactRequest_LoginInfo();

  GetContactRequest_LoginInfo(const GetContactRequest_LoginInfo& from);

  inline GetContactRequest_LoginInfo& operator=(const GetContactRequest_LoginInfo& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GetContactRequest_LoginInfo& default_instance();

  static inline const GetContactRequest_LoginInfo* internal_default_instance() {
    return reinterpret_cast<const GetContactRequest_LoginInfo*>(
               &_GetContactRequest_LoginInfo_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    8;

  void Swap(GetContactRequest_LoginInfo* other);

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

  inline GetContactRequest_LoginInfo* New() const PROTOBUF_FINAL { return New(NULL); }

  GetContactRequest_LoginInfo* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const GetContactRequest_LoginInfo& from);
  void MergeFrom(const GetContactRequest_LoginInfo& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(GetContactRequest_LoginInfo* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // required string aesKey = 1;
  bool has_aeskey() const;
  void clear_aeskey();
  static const int kAesKeyFieldNumber = 1;
  const ::std::string& aeskey() const;
  void set_aeskey(const ::std::string& value);
  #if LANG_CXX11
  void set_aeskey(::std::string&& value);
  #endif
  void set_aeskey(const char* value);
  void set_aeskey(const char* value, size_t size);
  ::std::string* mutable_aeskey();
  ::std::string* release_aeskey();
  void set_allocated_aeskey(::std::string* aeskey);

  // required string guid = 3;
  bool has_guid() const;
  void clear_guid();
  static const int kGuidFieldNumber = 3;
  const ::std::string& guid() const;
  void set_guid(const ::std::string& value);
  #if LANG_CXX11
  void set_guid(::std::string&& value);
  #endif
  void set_guid(const char* value);
  void set_guid(const char* value, size_t size);
  ::std::string* mutable_guid();
  ::std::string* release_guid();
  void set_allocated_guid(::std::string* guid);

  // required string androidVer = 5;
  bool has_androidver() const;
  void clear_androidver();
  static const int kAndroidVerFieldNumber = 5;
  const ::std::string& androidver() const;
  void set_androidver(const ::std::string& value);
  #if LANG_CXX11
  void set_androidver(::std::string&& value);
  #endif
  void set_androidver(const char* value);
  void set_androidver(const char* value, size_t size);
  ::std::string* mutable_androidver();
  ::std::string* release_androidver();
  void set_allocated_androidver(::std::string* androidver);

  // required int32 uin = 2;
  bool has_uin() const;
  void clear_uin();
  static const int kUinFieldNumber = 2;
  ::google::protobuf::int32 uin() const;
  void set_uin(::google::protobuf::int32 value);

  // required int32 clientVer = 4;
  bool has_clientver() const;
  void clear_clientver();
  static const int kClientVerFieldNumber = 4;
  ::google::protobuf::int32 clientver() const;
  void set_clientver(::google::protobuf::int32 value);

  // required int32 unknown3 = 6;
  bool has_unknown3() const;
  void clear_unknown3();
  static const int kUnknown3FieldNumber = 6;
  ::google::protobuf::int32 unknown3() const;
  void set_unknown3(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo)
 private:
  void set_has_aeskey();
  void clear_has_aeskey();
  void set_has_uin();
  void clear_has_uin();
  void set_has_guid();
  void clear_has_guid();
  void set_has_clientver();
  void clear_has_clientver();
  void set_has_androidver();
  void clear_has_androidver();
  void set_has_unknown3();
  void clear_has_unknown3();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr aeskey_;
  ::google::protobuf::internal::ArenaStringPtr guid_;
  ::google::protobuf::internal::ArenaStringPtr androidver_;
  ::google::protobuf::int32 uin_;
  ::google::protobuf::int32 clientver_;
  ::google::protobuf::int32 unknown3_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class GetContactRequest__SearchName : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.GetContactRequest._SearchName) */ {
 public:
  GetContactRequest__SearchName();
  virtual ~GetContactRequest__SearchName();

  GetContactRequest__SearchName(const GetContactRequest__SearchName& from);

  inline GetContactRequest__SearchName& operator=(const GetContactRequest__SearchName& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GetContactRequest__SearchName& default_instance();

  static inline const GetContactRequest__SearchName* internal_default_instance() {
    return reinterpret_cast<const GetContactRequest__SearchName*>(
               &_GetContactRequest__SearchName_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    9;

  void Swap(GetContactRequest__SearchName* other);

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

  inline GetContactRequest__SearchName* New() const PROTOBUF_FINAL { return New(NULL); }

  GetContactRequest__SearchName* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const GetContactRequest__SearchName& from);
  void MergeFrom(const GetContactRequest__SearchName& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(GetContactRequest__SearchName* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // required string name = 1;
  bool has_name() const;
  void clear_name();
  static const int kNameFieldNumber = 1;
  const ::std::string& name() const;
  void set_name(const ::std::string& value);
  #if LANG_CXX11
  void set_name(::std::string&& value);
  #endif
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  ::std::string* mutable_name();
  ::std::string* release_name();
  void set_allocated_name(::std::string* name);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.GetContactRequest._SearchName)
 private:
  void set_has_name();
  void clear_has_name();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr name_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class GetContactRequest__tag7 : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.GetContactRequest._tag7) */ {
 public:
  GetContactRequest__tag7();
  virtual ~GetContactRequest__tag7();

  GetContactRequest__tag7(const GetContactRequest__tag7& from);

  inline GetContactRequest__tag7& operator=(const GetContactRequest__tag7& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GetContactRequest__tag7& default_instance();

  static inline const GetContactRequest__tag7* internal_default_instance() {
    return reinterpret_cast<const GetContactRequest__tag7*>(
               &_GetContactRequest__tag7_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    10;

  void Swap(GetContactRequest__tag7* other);

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

  inline GetContactRequest__tag7* New() const PROTOBUF_FINAL { return New(NULL); }

  GetContactRequest__tag7* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const GetContactRequest__tag7& from);
  void MergeFrom(const GetContactRequest__tag7& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(GetContactRequest__tag7* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // required string tag1 = 1;
  bool has_tag1() const;
  void clear_tag1();
  static const int kTag1FieldNumber = 1;
  const ::std::string& tag1() const;
  void set_tag1(const ::std::string& value);
  #if LANG_CXX11
  void set_tag1(::std::string&& value);
  #endif
  void set_tag1(const char* value);
  void set_tag1(const char* value, size_t size);
  ::std::string* mutable_tag1();
  ::std::string* release_tag1();
  void set_allocated_tag1(::std::string* tag1);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.GetContactRequest._tag7)
 private:
  void set_has_tag1();
  void clear_has_tag1();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr tag1_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class GetContactRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.GetContactRequest) */ {
 public:
  GetContactRequest();
  virtual ~GetContactRequest();

  GetContactRequest(const GetContactRequest& from);

  inline GetContactRequest& operator=(const GetContactRequest& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GetContactRequest& default_instance();

  static inline const GetContactRequest* internal_default_instance() {
    return reinterpret_cast<const GetContactRequest*>(
               &_GetContactRequest_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    11;

  void Swap(GetContactRequest* other);

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

  inline GetContactRequest* New() const PROTOBUF_FINAL { return New(NULL); }

  GetContactRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const GetContactRequest& from);
  void MergeFrom(const GetContactRequest& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(GetContactRequest* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

  typedef GetContactRequest_LoginInfo LoginInfo;
  typedef GetContactRequest__SearchName _SearchName;
  typedef GetContactRequest__tag7 _tag7;

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

  // required .com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo login = 1;
  bool has_login() const;
  void clear_login();
  static const int kLoginFieldNumber = 1;
  const ::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo& login() const;
  ::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo* mutable_login();
  ::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo* release_login();
  void set_allocated_login(::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo* login);

  // required .com.tencent.mars.microchat.proto.GetContactRequest._SearchName name = 3;
  bool has_name() const;
  void clear_name();
  static const int kNameFieldNumber = 3;
  const ::com::tencent::mars::microchat::proto::GetContactRequest__SearchName& name() const;
  ::com::tencent::mars::microchat::proto::GetContactRequest__SearchName* mutable_name();
  ::com::tencent::mars::microchat::proto::GetContactRequest__SearchName* release_name();
  void set_allocated_name(::com::tencent::mars::microchat::proto::GetContactRequest__SearchName* name);

  // optional .com.tencent.mars.microchat.proto.GetContactRequest._tag7 tag7 = 7;
  bool has_tag7() const;
  void clear_tag7();
  static const int kTag7FieldNumber = 7;
  const ::com::tencent::mars::microchat::proto::GetContactRequest__tag7& tag7() const;
  ::com::tencent::mars::microchat::proto::GetContactRequest__tag7* mutable_tag7();
  ::com::tencent::mars::microchat::proto::GetContactRequest__tag7* release_tag7();
  void set_allocated_tag7(::com::tencent::mars::microchat::proto::GetContactRequest__tag7* tag7);

  // optional int32 tag2 = 2;
  bool has_tag2() const;
  void clear_tag2();
  static const int kTag2FieldNumber = 2;
  ::google::protobuf::int32 tag2() const;
  void set_tag2(::google::protobuf::int32 value);

  // optional int32 tag4 = 4;
  bool has_tag4() const;
  void clear_tag4();
  static const int kTag4FieldNumber = 4;
  ::google::protobuf::int32 tag4() const;
  void set_tag4(::google::protobuf::int32 value);

  // optional int32 tag6 = 6;
  bool has_tag6() const;
  void clear_tag6();
  static const int kTag6FieldNumber = 6;
  ::google::protobuf::int32 tag6() const;
  void set_tag6(::google::protobuf::int32 value);

  // optional int32 tag8 = 8;
  bool has_tag8() const;
  void clear_tag8();
  static const int kTag8FieldNumber = 8;
  ::google::protobuf::int32 tag8() const;
  void set_tag8(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.GetContactRequest)
 private:
  void set_has_login();
  void clear_has_login();
  void set_has_tag2();
  void clear_has_tag2();
  void set_has_name();
  void clear_has_name();
  void set_has_tag4();
  void clear_has_tag4();
  void set_has_tag6();
  void clear_has_tag6();
  void set_has_tag7();
  void clear_has_tag7();
  void set_has_tag8();
  void clear_has_tag8();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo* login_;
  ::com::tencent::mars::microchat::proto::GetContactRequest__SearchName* name_;
  ::com::tencent::mars::microchat::proto::GetContactRequest__tag7* tag7_;
  ::google::protobuf::int32 tag2_;
  ::google::protobuf::int32 tag4_;
  ::google::protobuf::int32 tag6_;
  ::google::protobuf::int32 tag8_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class GetContactResponse__Result__Result : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.GetContactResponse._Result._Result) */ {
 public:
  GetContactResponse__Result__Result();
  virtual ~GetContactResponse__Result__Result();

  GetContactResponse__Result__Result(const GetContactResponse__Result__Result& from);

  inline GetContactResponse__Result__Result& operator=(const GetContactResponse__Result__Result& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GetContactResponse__Result__Result& default_instance();

  static inline const GetContactResponse__Result__Result* internal_default_instance() {
    return reinterpret_cast<const GetContactResponse__Result__Result*>(
               &_GetContactResponse__Result__Result_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    12;

  void Swap(GetContactResponse__Result__Result* other);

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

  inline GetContactResponse__Result__Result* New() const PROTOBUF_FINAL { return New(NULL); }

  GetContactResponse__Result__Result* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const GetContactResponse__Result__Result& from);
  void MergeFrom(const GetContactResponse__Result__Result& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(GetContactResponse__Result__Result* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // optional string strResult = 1;
  bool has_strresult() const;
  void clear_strresult();
  static const int kStrResultFieldNumber = 1;
  const ::std::string& strresult() const;
  void set_strresult(const ::std::string& value);
  #if LANG_CXX11
  void set_strresult(::std::string&& value);
  #endif
  void set_strresult(const char* value);
  void set_strresult(const char* value, size_t size);
  ::std::string* mutable_strresult();
  ::std::string* release_strresult();
  void set_allocated_strresult(::std::string* strresult);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.GetContactResponse._Result._Result)
 private:
  void set_has_strresult();
  void clear_has_strresult();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr strresult_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class GetContactResponse__Result : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.GetContactResponse._Result) */ {
 public:
  GetContactResponse__Result();
  virtual ~GetContactResponse__Result();

  GetContactResponse__Result(const GetContactResponse__Result& from);

  inline GetContactResponse__Result& operator=(const GetContactResponse__Result& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GetContactResponse__Result& default_instance();

  static inline const GetContactResponse__Result* internal_default_instance() {
    return reinterpret_cast<const GetContactResponse__Result*>(
               &_GetContactResponse__Result_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    13;

  void Swap(GetContactResponse__Result* other);

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

  inline GetContactResponse__Result* New() const PROTOBUF_FINAL { return New(NULL); }

  GetContactResponse__Result* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const GetContactResponse__Result& from);
  void MergeFrom(const GetContactResponse__Result& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(GetContactResponse__Result* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

  typedef GetContactResponse__Result__Result _Result;

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

  // optional .com.tencent.mars.microchat.proto.GetContactResponse._Result._Result result = 2;
  bool has_result() const;
  void clear_result();
  static const int kResultFieldNumber = 2;
  const ::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result& result() const;
  ::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result* mutable_result();
  ::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result* release_result();
  void set_allocated_result(::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result* result);

  // optional int32 code = 1;
  bool has_code() const;
  void clear_code();
  static const int kCodeFieldNumber = 1;
  ::google::protobuf::int32 code() const;
  void set_code(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.GetContactResponse._Result)
 private:
  void set_has_code();
  void clear_has_code();
  void set_has_result();
  void clear_has_result();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result* result_;
  ::google::protobuf::int32 code_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class GetContactResponse__tag3__V1 : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1) */ {
 public:
  GetContactResponse__tag3__V1();
  virtual ~GetContactResponse__tag3__V1();

  GetContactResponse__tag3__V1(const GetContactResponse__tag3__V1& from);

  inline GetContactResponse__tag3__V1& operator=(const GetContactResponse__tag3__V1& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GetContactResponse__tag3__V1& default_instance();

  static inline const GetContactResponse__tag3__V1* internal_default_instance() {
    return reinterpret_cast<const GetContactResponse__tag3__V1*>(
               &_GetContactResponse__tag3__V1_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    14;

  void Swap(GetContactResponse__tag3__V1* other);

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

  inline GetContactResponse__tag3__V1* New() const PROTOBUF_FINAL { return New(NULL); }

  GetContactResponse__tag3__V1* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const GetContactResponse__tag3__V1& from);
  void MergeFrom(const GetContactResponse__tag3__V1& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(GetContactResponse__tag3__V1* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // optional string v1_Name = 1;
  bool has_v1_name() const;
  void clear_v1_name();
  static const int kV1NameFieldNumber = 1;
  const ::std::string& v1_name() const;
  void set_v1_name(const ::std::string& value);
  #if LANG_CXX11
  void set_v1_name(::std::string&& value);
  #endif
  void set_v1_name(const char* value);
  void set_v1_name(const char* value, size_t size);
  ::std::string* mutable_v1_name();
  ::std::string* release_v1_name();
  void set_allocated_v1_name(::std::string* v1_name);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1)
 private:
  void set_has_v1_name();
  void clear_has_v1_name();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr v1_name_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class GetContactResponse__tag3__NickName : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName) */ {
 public:
  GetContactResponse__tag3__NickName();
  virtual ~GetContactResponse__tag3__NickName();

  GetContactResponse__tag3__NickName(const GetContactResponse__tag3__NickName& from);

  inline GetContactResponse__tag3__NickName& operator=(const GetContactResponse__tag3__NickName& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GetContactResponse__tag3__NickName& default_instance();

  static inline const GetContactResponse__tag3__NickName* internal_default_instance() {
    return reinterpret_cast<const GetContactResponse__tag3__NickName*>(
               &_GetContactResponse__tag3__NickName_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    15;

  void Swap(GetContactResponse__tag3__NickName* other);

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

  inline GetContactResponse__tag3__NickName* New() const PROTOBUF_FINAL { return New(NULL); }

  GetContactResponse__tag3__NickName* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const GetContactResponse__tag3__NickName& from);
  void MergeFrom(const GetContactResponse__tag3__NickName& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(GetContactResponse__tag3__NickName* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // optional string name = 1;
  bool has_name() const;
  void clear_name();
  static const int kNameFieldNumber = 1;
  const ::std::string& name() const;
  void set_name(const ::std::string& value);
  #if LANG_CXX11
  void set_name(::std::string&& value);
  #endif
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  ::std::string* mutable_name();
  ::std::string* release_name();
  void set_allocated_name(::std::string* name);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName)
 private:
  void set_has_name();
  void clear_has_name();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr name_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class GetContactResponse__tag3 : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.GetContactResponse._tag3) */ {
 public:
  GetContactResponse__tag3();
  virtual ~GetContactResponse__tag3();

  GetContactResponse__tag3(const GetContactResponse__tag3& from);

  inline GetContactResponse__tag3& operator=(const GetContactResponse__tag3& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GetContactResponse__tag3& default_instance();

  static inline const GetContactResponse__tag3* internal_default_instance() {
    return reinterpret_cast<const GetContactResponse__tag3*>(
               &_GetContactResponse__tag3_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    16;

  void Swap(GetContactResponse__tag3* other);

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

  inline GetContactResponse__tag3* New() const PROTOBUF_FINAL { return New(NULL); }

  GetContactResponse__tag3* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const GetContactResponse__tag3& from);
  void MergeFrom(const GetContactResponse__tag3& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(GetContactResponse__tag3* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

  typedef GetContactResponse__tag3__V1 _V1;
  typedef GetContactResponse__tag3__NickName _NickName;

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

  // optional string tag44 = 44;
  bool has_tag44() const;
  void clear_tag44();
  static const int kTag44FieldNumber = 44;
  const ::std::string& tag44() const;
  void set_tag44(const ::std::string& value);
  #if LANG_CXX11
  void set_tag44(::std::string&& value);
  #endif
  void set_tag44(const char* value);
  void set_tag44(const char* value, size_t size);
  ::std::string* mutable_tag44();
  ::std::string* release_tag44();
  void set_allocated_tag44(::std::string* tag44);

  // optional .com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1 v1 = 1;
  bool has_v1() const;
  void clear_v1();
  static const int kV1FieldNumber = 1;
  const ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1& v1() const;
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1* mutable_v1();
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1* release_v1();
  void set_allocated_v1(::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1* v1);

  // optional .com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName nickname = 2;
  bool has_nickname() const;
  void clear_nickname();
  static const int kNicknameFieldNumber = 2;
  const ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName& nickname() const;
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName* mutable_nickname();
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName* release_nickname();
  void set_allocated_nickname(::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName* nickname);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.GetContactResponse._tag3)
 private:
  void set_has_v1();
  void clear_has_v1();
  void set_has_nickname();
  void clear_has_nickname();
  void set_has_tag44();
  void clear_has_tag44();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr tag44_;
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1* v1_;
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName* nickname_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class GetContactResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.GetContactResponse) */ {
 public:
  GetContactResponse();
  virtual ~GetContactResponse();

  GetContactResponse(const GetContactResponse& from);

  inline GetContactResponse& operator=(const GetContactResponse& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GetContactResponse& default_instance();

  static inline const GetContactResponse* internal_default_instance() {
    return reinterpret_cast<const GetContactResponse*>(
               &_GetContactResponse_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    17;

  void Swap(GetContactResponse* other);

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

  inline GetContactResponse* New() const PROTOBUF_FINAL { return New(NULL); }

  GetContactResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const GetContactResponse& from);
  void MergeFrom(const GetContactResponse& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(GetContactResponse* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

  typedef GetContactResponse__Result _Result;
  typedef GetContactResponse__tag3 _tag3;

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

  // optional .com.tencent.mars.microchat.proto.GetContactResponse._Result tag1 = 1;
  bool has_tag1() const;
  void clear_tag1();
  static const int kTag1FieldNumber = 1;
  const ::com::tencent::mars::microchat::proto::GetContactResponse__Result& tag1() const;
  ::com::tencent::mars::microchat::proto::GetContactResponse__Result* mutable_tag1();
  ::com::tencent::mars::microchat::proto::GetContactResponse__Result* release_tag1();
  void set_allocated_tag1(::com::tencent::mars::microchat::proto::GetContactResponse__Result* tag1);

  // optional .com.tencent.mars.microchat.proto.GetContactResponse._tag3 tag3 = 3;
  bool has_tag3() const;
  void clear_tag3();
  static const int kTag3FieldNumber = 3;
  const ::com::tencent::mars::microchat::proto::GetContactResponse__tag3& tag3() const;
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3* mutable_tag3();
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3* release_tag3();
  void set_allocated_tag3(::com::tencent::mars::microchat::proto::GetContactResponse__tag3* tag3);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.GetContactResponse)
 private:
  void set_has_tag1();
  void clear_has_tag1();
  void set_has_tag3();
  void clear_has_tag3();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::com::tencent::mars::microchat::proto::GetContactResponse__Result* tag1_;
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3* tag3_;
  friend struct protobuf_searchcontact_2eproto::TableStruct;
};
// ===================================================================


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

#if !PROTOBUF_INLINE_NOT_IN_HEADERS
// SearchContactRequest_LoginInfo

// required string aesKey = 1;
inline bool SearchContactRequest_LoginInfo::has_aeskey() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SearchContactRequest_LoginInfo::set_has_aeskey() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SearchContactRequest_LoginInfo::clear_has_aeskey() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SearchContactRequest_LoginInfo::clear_aeskey() {
  aeskey_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_aeskey();
}
inline const ::std::string& SearchContactRequest_LoginInfo::aeskey() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.aesKey)
  return aeskey_.GetNoArena();
}
inline void SearchContactRequest_LoginInfo::set_aeskey(const ::std::string& value) {
  set_has_aeskey();
  aeskey_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.aesKey)
}
#if LANG_CXX11
inline void SearchContactRequest_LoginInfo::set_aeskey(::std::string&& value) {
  set_has_aeskey();
  aeskey_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.aesKey)
}
#endif
inline void SearchContactRequest_LoginInfo::set_aeskey(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_aeskey();
  aeskey_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.aesKey)
}
inline void SearchContactRequest_LoginInfo::set_aeskey(const char* value, size_t size) {
  set_has_aeskey();
  aeskey_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.aesKey)
}
inline ::std::string* SearchContactRequest_LoginInfo::mutable_aeskey() {
  set_has_aeskey();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.aesKey)
  return aeskey_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* SearchContactRequest_LoginInfo::release_aeskey() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.aesKey)
  clear_has_aeskey();
  return aeskey_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void SearchContactRequest_LoginInfo::set_allocated_aeskey(::std::string* aeskey) {
  if (aeskey != NULL) {
    set_has_aeskey();
  } else {
    clear_has_aeskey();
  }
  aeskey_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), aeskey);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.aesKey)
}

// required int32 uin = 2;
inline bool SearchContactRequest_LoginInfo::has_uin() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void SearchContactRequest_LoginInfo::set_has_uin() {
  _has_bits_[0] |= 0x00000008u;
}
inline void SearchContactRequest_LoginInfo::clear_has_uin() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void SearchContactRequest_LoginInfo::clear_uin() {
  uin_ = 0;
  clear_has_uin();
}
inline ::google::protobuf::int32 SearchContactRequest_LoginInfo::uin() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.uin)
  return uin_;
}
inline void SearchContactRequest_LoginInfo::set_uin(::google::protobuf::int32 value) {
  set_has_uin();
  uin_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.uin)
}

// required string guid = 3;
inline bool SearchContactRequest_LoginInfo::has_guid() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void SearchContactRequest_LoginInfo::set_has_guid() {
  _has_bits_[0] |= 0x00000002u;
}
inline void SearchContactRequest_LoginInfo::clear_has_guid() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void SearchContactRequest_LoginInfo::clear_guid() {
  guid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_guid();
}
inline const ::std::string& SearchContactRequest_LoginInfo::guid() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.guid)
  return guid_.GetNoArena();
}
inline void SearchContactRequest_LoginInfo::set_guid(const ::std::string& value) {
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.guid)
}
#if LANG_CXX11
inline void SearchContactRequest_LoginInfo::set_guid(::std::string&& value) {
  set_has_guid();
  guid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.guid)
}
#endif
inline void SearchContactRequest_LoginInfo::set_guid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.guid)
}
inline void SearchContactRequest_LoginInfo::set_guid(const char* value, size_t size) {
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.guid)
}
inline ::std::string* SearchContactRequest_LoginInfo::mutable_guid() {
  set_has_guid();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.guid)
  return guid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* SearchContactRequest_LoginInfo::release_guid() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.guid)
  clear_has_guid();
  return guid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void SearchContactRequest_LoginInfo::set_allocated_guid(::std::string* guid) {
  if (guid != NULL) {
    set_has_guid();
  } else {
    clear_has_guid();
  }
  guid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), guid);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.guid)
}

// required int32 clientVer = 4;
inline bool SearchContactRequest_LoginInfo::has_clientver() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void SearchContactRequest_LoginInfo::set_has_clientver() {
  _has_bits_[0] |= 0x00000010u;
}
inline void SearchContactRequest_LoginInfo::clear_has_clientver() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void SearchContactRequest_LoginInfo::clear_clientver() {
  clientver_ = 0;
  clear_has_clientver();
}
inline ::google::protobuf::int32 SearchContactRequest_LoginInfo::clientver() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.clientVer)
  return clientver_;
}
inline void SearchContactRequest_LoginInfo::set_clientver(::google::protobuf::int32 value) {
  set_has_clientver();
  clientver_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.clientVer)
}

// required string androidVer = 5;
inline bool SearchContactRequest_LoginInfo::has_androidver() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void SearchContactRequest_LoginInfo::set_has_androidver() {
  _has_bits_[0] |= 0x00000004u;
}
inline void SearchContactRequest_LoginInfo::clear_has_androidver() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void SearchContactRequest_LoginInfo::clear_androidver() {
  androidver_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_androidver();
}
inline const ::std::string& SearchContactRequest_LoginInfo::androidver() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.androidVer)
  return androidver_.GetNoArena();
}
inline void SearchContactRequest_LoginInfo::set_androidver(const ::std::string& value) {
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.androidVer)
}
#if LANG_CXX11
inline void SearchContactRequest_LoginInfo::set_androidver(::std::string&& value) {
  set_has_androidver();
  androidver_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.androidVer)
}
#endif
inline void SearchContactRequest_LoginInfo::set_androidver(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.androidVer)
}
inline void SearchContactRequest_LoginInfo::set_androidver(const char* value, size_t size) {
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.androidVer)
}
inline ::std::string* SearchContactRequest_LoginInfo::mutable_androidver() {
  set_has_androidver();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.androidVer)
  return androidver_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* SearchContactRequest_LoginInfo::release_androidver() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.androidVer)
  clear_has_androidver();
  return androidver_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void SearchContactRequest_LoginInfo::set_allocated_androidver(::std::string* androidver) {
  if (androidver != NULL) {
    set_has_androidver();
  } else {
    clear_has_androidver();
  }
  androidver_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), androidver);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.androidVer)
}

// required int32 unknown3 = 6;
inline bool SearchContactRequest_LoginInfo::has_unknown3() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void SearchContactRequest_LoginInfo::set_has_unknown3() {
  _has_bits_[0] |= 0x00000020u;
}
inline void SearchContactRequest_LoginInfo::clear_has_unknown3() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void SearchContactRequest_LoginInfo::clear_unknown3() {
  unknown3_ = 0;
  clear_has_unknown3();
}
inline ::google::protobuf::int32 SearchContactRequest_LoginInfo::unknown3() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.unknown3)
  return unknown3_;
}
inline void SearchContactRequest_LoginInfo::set_unknown3(::google::protobuf::int32 value) {
  set_has_unknown3();
  unknown3_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo.unknown3)
}

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

// SearchContactRequest__SearchName

// required string name = 1;
inline bool SearchContactRequest__SearchName::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SearchContactRequest__SearchName::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SearchContactRequest__SearchName::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SearchContactRequest__SearchName::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
inline const ::std::string& SearchContactRequest__SearchName::name() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest._SearchName.name)
  return name_.GetNoArena();
}
inline void SearchContactRequest__SearchName::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactRequest._SearchName.name)
}
#if LANG_CXX11
inline void SearchContactRequest__SearchName::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.SearchContactRequest._SearchName.name)
}
#endif
inline void SearchContactRequest__SearchName::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.SearchContactRequest._SearchName.name)
}
inline void SearchContactRequest__SearchName::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.SearchContactRequest._SearchName.name)
}
inline ::std::string* SearchContactRequest__SearchName::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactRequest._SearchName.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* SearchContactRequest__SearchName::release_name() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactRequest._SearchName.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void SearchContactRequest__SearchName::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactRequest._SearchName.name)
}

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

// SearchContactRequest

// required .com.tencent.mars.microchat.proto.SearchContactRequest.LoginInfo login = 1;
inline bool SearchContactRequest::has_login() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SearchContactRequest::set_has_login() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SearchContactRequest::clear_has_login() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SearchContactRequest::clear_login() {
  if (login_ != NULL) login_->::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo::Clear();
  clear_has_login();
}
inline const ::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo& SearchContactRequest::login() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.login)
  return login_ != NULL ? *login_
                         : *::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo* SearchContactRequest::mutable_login() {
  set_has_login();
  if (login_ == NULL) {
    login_ = new ::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactRequest.login)
  return login_;
}
inline ::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo* SearchContactRequest::release_login() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactRequest.login)
  clear_has_login();
  ::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo* temp = login_;
  login_ = NULL;
  return temp;
}
inline void SearchContactRequest::set_allocated_login(::com::tencent::mars::microchat::proto::SearchContactRequest_LoginInfo* login) {
  delete login_;
  login_ = login;
  if (login) {
    set_has_login();
  } else {
    clear_has_login();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactRequest.login)
}

// required .com.tencent.mars.microchat.proto.SearchContactRequest._SearchName name = 2;
inline bool SearchContactRequest::has_name() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void SearchContactRequest::set_has_name() {
  _has_bits_[0] |= 0x00000002u;
}
inline void SearchContactRequest::clear_has_name() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void SearchContactRequest::clear_name() {
  if (name_ != NULL) name_->::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName::Clear();
  clear_has_name();
}
inline const ::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName& SearchContactRequest::name() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.name)
  return name_ != NULL ? *name_
                         : *::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName* SearchContactRequest::mutable_name() {
  set_has_name();
  if (name_ == NULL) {
    name_ = new ::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactRequest.name)
  return name_;
}
inline ::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName* SearchContactRequest::release_name() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactRequest.name)
  clear_has_name();
  ::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName* temp = name_;
  name_ = NULL;
  return temp;
}
inline void SearchContactRequest::set_allocated_name(::com::tencent::mars::microchat::proto::SearchContactRequest__SearchName* name) {
  delete name_;
  name_ = name;
  if (name) {
    set_has_name();
  } else {
    clear_has_name();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactRequest.name)
}

// optional int32 tag3 = 3;
inline bool SearchContactRequest::has_tag3() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void SearchContactRequest::set_has_tag3() {
  _has_bits_[0] |= 0x00000004u;
}
inline void SearchContactRequest::clear_has_tag3() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void SearchContactRequest::clear_tag3() {
  tag3_ = 0;
  clear_has_tag3();
}
inline ::google::protobuf::int32 SearchContactRequest::tag3() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.tag3)
  return tag3_;
}
inline void SearchContactRequest::set_tag3(::google::protobuf::int32 value) {
  set_has_tag3();
  tag3_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactRequest.tag3)
}

// optional int32 tag5 = 5;
inline bool SearchContactRequest::has_tag5() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void SearchContactRequest::set_has_tag5() {
  _has_bits_[0] |= 0x00000008u;
}
inline void SearchContactRequest::clear_has_tag5() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void SearchContactRequest::clear_tag5() {
  tag5_ = 0;
  clear_has_tag5();
}
inline ::google::protobuf::int32 SearchContactRequest::tag5() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.tag5)
  return tag5_;
}
inline void SearchContactRequest::set_tag5(::google::protobuf::int32 value) {
  set_has_tag5();
  tag5_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactRequest.tag5)
}

// optional int32 tag6 = 6;
inline bool SearchContactRequest::has_tag6() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void SearchContactRequest::set_has_tag6() {
  _has_bits_[0] |= 0x00000010u;
}
inline void SearchContactRequest::clear_has_tag6() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void SearchContactRequest::clear_tag6() {
  tag6_ = 0;
  clear_has_tag6();
}
inline ::google::protobuf::int32 SearchContactRequest::tag6() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactRequest.tag6)
  return tag6_;
}
inline void SearchContactRequest::set_tag6(::google::protobuf::int32 value) {
  set_has_tag6();
  tag6_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactRequest.tag6)
}

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

// SearchContactResponse__Result__Result

// optional string strResult = 1;
inline bool SearchContactResponse__Result__Result::has_strresult() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SearchContactResponse__Result__Result::set_has_strresult() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SearchContactResponse__Result__Result::clear_has_strresult() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SearchContactResponse__Result__Result::clear_strresult() {
  strresult_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_strresult();
}
inline const ::std::string& SearchContactResponse__Result__Result::strresult() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result.strResult)
  return strresult_.GetNoArena();
}
inline void SearchContactResponse__Result__Result::set_strresult(const ::std::string& value) {
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result.strResult)
}
#if LANG_CXX11
inline void SearchContactResponse__Result__Result::set_strresult(::std::string&& value) {
  set_has_strresult();
  strresult_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result.strResult)
}
#endif
inline void SearchContactResponse__Result__Result::set_strresult(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result.strResult)
}
inline void SearchContactResponse__Result__Result::set_strresult(const char* value, size_t size) {
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result.strResult)
}
inline ::std::string* SearchContactResponse__Result__Result::mutable_strresult() {
  set_has_strresult();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result.strResult)
  return strresult_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* SearchContactResponse__Result__Result::release_strresult() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result.strResult)
  clear_has_strresult();
  return strresult_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void SearchContactResponse__Result__Result::set_allocated_strresult(::std::string* strresult) {
  if (strresult != NULL) {
    set_has_strresult();
  } else {
    clear_has_strresult();
  }
  strresult_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), strresult);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result.strResult)
}

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

// SearchContactResponse__Result

// optional int32 code = 1;
inline bool SearchContactResponse__Result::has_code() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void SearchContactResponse__Result::set_has_code() {
  _has_bits_[0] |= 0x00000002u;
}
inline void SearchContactResponse__Result::clear_has_code() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void SearchContactResponse__Result::clear_code() {
  code_ = 0;
  clear_has_code();
}
inline ::google::protobuf::int32 SearchContactResponse__Result::code() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactResponse._Result.code)
  return code_;
}
inline void SearchContactResponse__Result::set_code(::google::protobuf::int32 value) {
  set_has_code();
  code_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactResponse._Result.code)
}

// optional .com.tencent.mars.microchat.proto.SearchContactResponse._Result._Result result = 2;
inline bool SearchContactResponse__Result::has_result() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SearchContactResponse__Result::set_has_result() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SearchContactResponse__Result::clear_has_result() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SearchContactResponse__Result::clear_result() {
  if (result_ != NULL) result_->::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result::Clear();
  clear_has_result();
}
inline const ::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result& SearchContactResponse__Result::result() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactResponse._Result.result)
  return result_ != NULL ? *result_
                         : *::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result* SearchContactResponse__Result::mutable_result() {
  set_has_result();
  if (result_ == NULL) {
    result_ = new ::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactResponse._Result.result)
  return result_;
}
inline ::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result* SearchContactResponse__Result::release_result() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactResponse._Result.result)
  clear_has_result();
  ::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result* temp = result_;
  result_ = NULL;
  return temp;
}
inline void SearchContactResponse__Result::set_allocated_result(::com::tencent::mars::microchat::proto::SearchContactResponse__Result__Result* result) {
  delete result_;
  result_ = result;
  if (result) {
    set_has_result();
  } else {
    clear_has_result();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactResponse._Result.result)
}

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

// SearchContactResponse__V1

// optional string v1_Name = 1;
inline bool SearchContactResponse__V1::has_v1_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SearchContactResponse__V1::set_has_v1_name() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SearchContactResponse__V1::clear_has_v1_name() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SearchContactResponse__V1::clear_v1_name() {
  v1_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_v1_name();
}
inline const ::std::string& SearchContactResponse__V1::v1_name() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactResponse._V1.v1_Name)
  return v1_name_.GetNoArena();
}
inline void SearchContactResponse__V1::set_v1_name(const ::std::string& value) {
  set_has_v1_name();
  v1_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactResponse._V1.v1_Name)
}
#if LANG_CXX11
inline void SearchContactResponse__V1::set_v1_name(::std::string&& value) {
  set_has_v1_name();
  v1_name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.SearchContactResponse._V1.v1_Name)
}
#endif
inline void SearchContactResponse__V1::set_v1_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_v1_name();
  v1_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.SearchContactResponse._V1.v1_Name)
}
inline void SearchContactResponse__V1::set_v1_name(const char* value, size_t size) {
  set_has_v1_name();
  v1_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.SearchContactResponse._V1.v1_Name)
}
inline ::std::string* SearchContactResponse__V1::mutable_v1_name() {
  set_has_v1_name();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactResponse._V1.v1_Name)
  return v1_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* SearchContactResponse__V1::release_v1_name() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactResponse._V1.v1_Name)
  clear_has_v1_name();
  return v1_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void SearchContactResponse__V1::set_allocated_v1_name(::std::string* v1_name) {
  if (v1_name != NULL) {
    set_has_v1_name();
  } else {
    clear_has_v1_name();
  }
  v1_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), v1_name);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactResponse._V1.v1_Name)
}

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

// SearchContactResponse__NickName

// optional string name = 1;
inline bool SearchContactResponse__NickName::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SearchContactResponse__NickName::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SearchContactResponse__NickName::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SearchContactResponse__NickName::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
inline const ::std::string& SearchContactResponse__NickName::name() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactResponse._NickName.name)
  return name_.GetNoArena();
}
inline void SearchContactResponse__NickName::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactResponse._NickName.name)
}
#if LANG_CXX11
inline void SearchContactResponse__NickName::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.SearchContactResponse._NickName.name)
}
#endif
inline void SearchContactResponse__NickName::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.SearchContactResponse._NickName.name)
}
inline void SearchContactResponse__NickName::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.SearchContactResponse._NickName.name)
}
inline ::std::string* SearchContactResponse__NickName::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactResponse._NickName.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* SearchContactResponse__NickName::release_name() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactResponse._NickName.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void SearchContactResponse__NickName::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactResponse._NickName.name)
}

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

// SearchContactResponse

// optional .com.tencent.mars.microchat.proto.SearchContactResponse._Result tag1 = 1;
inline bool SearchContactResponse::has_tag1() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void SearchContactResponse::set_has_tag1() {
  _has_bits_[0] |= 0x00000004u;
}
inline void SearchContactResponse::clear_has_tag1() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void SearchContactResponse::clear_tag1() {
  if (tag1_ != NULL) tag1_->::com::tencent::mars::microchat::proto::SearchContactResponse__Result::Clear();
  clear_has_tag1();
}
inline const ::com::tencent::mars::microchat::proto::SearchContactResponse__Result& SearchContactResponse::tag1() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactResponse.tag1)
  return tag1_ != NULL ? *tag1_
                         : *::com::tencent::mars::microchat::proto::SearchContactResponse__Result::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::SearchContactResponse__Result* SearchContactResponse::mutable_tag1() {
  set_has_tag1();
  if (tag1_ == NULL) {
    tag1_ = new ::com::tencent::mars::microchat::proto::SearchContactResponse__Result;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactResponse.tag1)
  return tag1_;
}
inline ::com::tencent::mars::microchat::proto::SearchContactResponse__Result* SearchContactResponse::release_tag1() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactResponse.tag1)
  clear_has_tag1();
  ::com::tencent::mars::microchat::proto::SearchContactResponse__Result* temp = tag1_;
  tag1_ = NULL;
  return temp;
}
inline void SearchContactResponse::set_allocated_tag1(::com::tencent::mars::microchat::proto::SearchContactResponse__Result* tag1) {
  delete tag1_;
  tag1_ = tag1;
  if (tag1) {
    set_has_tag1();
  } else {
    clear_has_tag1();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactResponse.tag1)
}

// optional .com.tencent.mars.microchat.proto.SearchContactResponse._V1 v1 = 2;
inline bool SearchContactResponse::has_v1() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void SearchContactResponse::set_has_v1() {
  _has_bits_[0] |= 0x00000008u;
}
inline void SearchContactResponse::clear_has_v1() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void SearchContactResponse::clear_v1() {
  if (v1_ != NULL) v1_->::com::tencent::mars::microchat::proto::SearchContactResponse__V1::Clear();
  clear_has_v1();
}
inline const ::com::tencent::mars::microchat::proto::SearchContactResponse__V1& SearchContactResponse::v1() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactResponse.v1)
  return v1_ != NULL ? *v1_
                         : *::com::tencent::mars::microchat::proto::SearchContactResponse__V1::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::SearchContactResponse__V1* SearchContactResponse::mutable_v1() {
  set_has_v1();
  if (v1_ == NULL) {
    v1_ = new ::com::tencent::mars::microchat::proto::SearchContactResponse__V1;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactResponse.v1)
  return v1_;
}
inline ::com::tencent::mars::microchat::proto::SearchContactResponse__V1* SearchContactResponse::release_v1() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactResponse.v1)
  clear_has_v1();
  ::com::tencent::mars::microchat::proto::SearchContactResponse__V1* temp = v1_;
  v1_ = NULL;
  return temp;
}
inline void SearchContactResponse::set_allocated_v1(::com::tencent::mars::microchat::proto::SearchContactResponse__V1* v1) {
  delete v1_;
  v1_ = v1;
  if (v1) {
    set_has_v1();
  } else {
    clear_has_v1();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactResponse.v1)
}

// optional .com.tencent.mars.microchat.proto.SearchContactResponse._NickName nickname = 3;
inline bool SearchContactResponse::has_nickname() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void SearchContactResponse::set_has_nickname() {
  _has_bits_[0] |= 0x00000010u;
}
inline void SearchContactResponse::clear_has_nickname() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void SearchContactResponse::clear_nickname() {
  if (nickname_ != NULL) nickname_->::com::tencent::mars::microchat::proto::SearchContactResponse__NickName::Clear();
  clear_has_nickname();
}
inline const ::com::tencent::mars::microchat::proto::SearchContactResponse__NickName& SearchContactResponse::nickname() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactResponse.nickname)
  return nickname_ != NULL ? *nickname_
                         : *::com::tencent::mars::microchat::proto::SearchContactResponse__NickName::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::SearchContactResponse__NickName* SearchContactResponse::mutable_nickname() {
  set_has_nickname();
  if (nickname_ == NULL) {
    nickname_ = new ::com::tencent::mars::microchat::proto::SearchContactResponse__NickName;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactResponse.nickname)
  return nickname_;
}
inline ::com::tencent::mars::microchat::proto::SearchContactResponse__NickName* SearchContactResponse::release_nickname() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactResponse.nickname)
  clear_has_nickname();
  ::com::tencent::mars::microchat::proto::SearchContactResponse__NickName* temp = nickname_;
  nickname_ = NULL;
  return temp;
}
inline void SearchContactResponse::set_allocated_nickname(::com::tencent::mars::microchat::proto::SearchContactResponse__NickName* nickname) {
  delete nickname_;
  nickname_ = nickname;
  if (nickname) {
    set_has_nickname();
  } else {
    clear_has_nickname();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactResponse.nickname)
}

// optional string headicon = 28;
inline bool SearchContactResponse::has_headicon() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SearchContactResponse::set_has_headicon() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SearchContactResponse::clear_has_headicon() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SearchContactResponse::clear_headicon() {
  headicon_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_headicon();
}
inline const ::std::string& SearchContactResponse::headicon() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactResponse.headicon)
  return headicon_.GetNoArena();
}
inline void SearchContactResponse::set_headicon(const ::std::string& value) {
  set_has_headicon();
  headicon_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactResponse.headicon)
}
#if LANG_CXX11
inline void SearchContactResponse::set_headicon(::std::string&& value) {
  set_has_headicon();
  headicon_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.SearchContactResponse.headicon)
}
#endif
inline void SearchContactResponse::set_headicon(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_headicon();
  headicon_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.SearchContactResponse.headicon)
}
inline void SearchContactResponse::set_headicon(const char* value, size_t size) {
  set_has_headicon();
  headicon_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.SearchContactResponse.headicon)
}
inline ::std::string* SearchContactResponse::mutable_headicon() {
  set_has_headicon();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactResponse.headicon)
  return headicon_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* SearchContactResponse::release_headicon() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactResponse.headicon)
  clear_has_headicon();
  return headicon_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void SearchContactResponse::set_allocated_headicon(::std::string* headicon) {
  if (headicon != NULL) {
    set_has_headicon();
  } else {
    clear_has_headicon();
  }
  headicon_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), headicon);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactResponse.headicon)
}

// optional string v2_name = 30;
inline bool SearchContactResponse::has_v2_name() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void SearchContactResponse::set_has_v2_name() {
  _has_bits_[0] |= 0x00000002u;
}
inline void SearchContactResponse::clear_has_v2_name() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void SearchContactResponse::clear_v2_name() {
  v2_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_v2_name();
}
inline const ::std::string& SearchContactResponse::v2_name() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.SearchContactResponse.v2_name)
  return v2_name_.GetNoArena();
}
inline void SearchContactResponse::set_v2_name(const ::std::string& value) {
  set_has_v2_name();
  v2_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.SearchContactResponse.v2_name)
}
#if LANG_CXX11
inline void SearchContactResponse::set_v2_name(::std::string&& value) {
  set_has_v2_name();
  v2_name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.SearchContactResponse.v2_name)
}
#endif
inline void SearchContactResponse::set_v2_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_v2_name();
  v2_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.SearchContactResponse.v2_name)
}
inline void SearchContactResponse::set_v2_name(const char* value, size_t size) {
  set_has_v2_name();
  v2_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.SearchContactResponse.v2_name)
}
inline ::std::string* SearchContactResponse::mutable_v2_name() {
  set_has_v2_name();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.SearchContactResponse.v2_name)
  return v2_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* SearchContactResponse::release_v2_name() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.SearchContactResponse.v2_name)
  clear_has_v2_name();
  return v2_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void SearchContactResponse::set_allocated_v2_name(::std::string* v2_name) {
  if (v2_name != NULL) {
    set_has_v2_name();
  } else {
    clear_has_v2_name();
  }
  v2_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), v2_name);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.SearchContactResponse.v2_name)
}

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

// GetContactRequest_LoginInfo

// required string aesKey = 1;
inline bool GetContactRequest_LoginInfo::has_aeskey() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GetContactRequest_LoginInfo::set_has_aeskey() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GetContactRequest_LoginInfo::clear_has_aeskey() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GetContactRequest_LoginInfo::clear_aeskey() {
  aeskey_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_aeskey();
}
inline const ::std::string& GetContactRequest_LoginInfo::aeskey() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.aesKey)
  return aeskey_.GetNoArena();
}
inline void GetContactRequest_LoginInfo::set_aeskey(const ::std::string& value) {
  set_has_aeskey();
  aeskey_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.aesKey)
}
#if LANG_CXX11
inline void GetContactRequest_LoginInfo::set_aeskey(::std::string&& value) {
  set_has_aeskey();
  aeskey_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.aesKey)
}
#endif
inline void GetContactRequest_LoginInfo::set_aeskey(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_aeskey();
  aeskey_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.aesKey)
}
inline void GetContactRequest_LoginInfo::set_aeskey(const char* value, size_t size) {
  set_has_aeskey();
  aeskey_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.aesKey)
}
inline ::std::string* GetContactRequest_LoginInfo::mutable_aeskey() {
  set_has_aeskey();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.aesKey)
  return aeskey_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GetContactRequest_LoginInfo::release_aeskey() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.aesKey)
  clear_has_aeskey();
  return aeskey_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GetContactRequest_LoginInfo::set_allocated_aeskey(::std::string* aeskey) {
  if (aeskey != NULL) {
    set_has_aeskey();
  } else {
    clear_has_aeskey();
  }
  aeskey_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), aeskey);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.aesKey)
}

// required int32 uin = 2;
inline bool GetContactRequest_LoginInfo::has_uin() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void GetContactRequest_LoginInfo::set_has_uin() {
  _has_bits_[0] |= 0x00000008u;
}
inline void GetContactRequest_LoginInfo::clear_has_uin() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void GetContactRequest_LoginInfo::clear_uin() {
  uin_ = 0;
  clear_has_uin();
}
inline ::google::protobuf::int32 GetContactRequest_LoginInfo::uin() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.uin)
  return uin_;
}
inline void GetContactRequest_LoginInfo::set_uin(::google::protobuf::int32 value) {
  set_has_uin();
  uin_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.uin)
}

// required string guid = 3;
inline bool GetContactRequest_LoginInfo::has_guid() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void GetContactRequest_LoginInfo::set_has_guid() {
  _has_bits_[0] |= 0x00000002u;
}
inline void GetContactRequest_LoginInfo::clear_has_guid() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void GetContactRequest_LoginInfo::clear_guid() {
  guid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_guid();
}
inline const ::std::string& GetContactRequest_LoginInfo::guid() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.guid)
  return guid_.GetNoArena();
}
inline void GetContactRequest_LoginInfo::set_guid(const ::std::string& value) {
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.guid)
}
#if LANG_CXX11
inline void GetContactRequest_LoginInfo::set_guid(::std::string&& value) {
  set_has_guid();
  guid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.guid)
}
#endif
inline void GetContactRequest_LoginInfo::set_guid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.guid)
}
inline void GetContactRequest_LoginInfo::set_guid(const char* value, size_t size) {
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.guid)
}
inline ::std::string* GetContactRequest_LoginInfo::mutable_guid() {
  set_has_guid();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.guid)
  return guid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GetContactRequest_LoginInfo::release_guid() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.guid)
  clear_has_guid();
  return guid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GetContactRequest_LoginInfo::set_allocated_guid(::std::string* guid) {
  if (guid != NULL) {
    set_has_guid();
  } else {
    clear_has_guid();
  }
  guid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), guid);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.guid)
}

// required int32 clientVer = 4;
inline bool GetContactRequest_LoginInfo::has_clientver() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void GetContactRequest_LoginInfo::set_has_clientver() {
  _has_bits_[0] |= 0x00000010u;
}
inline void GetContactRequest_LoginInfo::clear_has_clientver() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void GetContactRequest_LoginInfo::clear_clientver() {
  clientver_ = 0;
  clear_has_clientver();
}
inline ::google::protobuf::int32 GetContactRequest_LoginInfo::clientver() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.clientVer)
  return clientver_;
}
inline void GetContactRequest_LoginInfo::set_clientver(::google::protobuf::int32 value) {
  set_has_clientver();
  clientver_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.clientVer)
}

// required string androidVer = 5;
inline bool GetContactRequest_LoginInfo::has_androidver() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void GetContactRequest_LoginInfo::set_has_androidver() {
  _has_bits_[0] |= 0x00000004u;
}
inline void GetContactRequest_LoginInfo::clear_has_androidver() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void GetContactRequest_LoginInfo::clear_androidver() {
  androidver_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_androidver();
}
inline const ::std::string& GetContactRequest_LoginInfo::androidver() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.androidVer)
  return androidver_.GetNoArena();
}
inline void GetContactRequest_LoginInfo::set_androidver(const ::std::string& value) {
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.androidVer)
}
#if LANG_CXX11
inline void GetContactRequest_LoginInfo::set_androidver(::std::string&& value) {
  set_has_androidver();
  androidver_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.androidVer)
}
#endif
inline void GetContactRequest_LoginInfo::set_androidver(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.androidVer)
}
inline void GetContactRequest_LoginInfo::set_androidver(const char* value, size_t size) {
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.androidVer)
}
inline ::std::string* GetContactRequest_LoginInfo::mutable_androidver() {
  set_has_androidver();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.androidVer)
  return androidver_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GetContactRequest_LoginInfo::release_androidver() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.androidVer)
  clear_has_androidver();
  return androidver_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GetContactRequest_LoginInfo::set_allocated_androidver(::std::string* androidver) {
  if (androidver != NULL) {
    set_has_androidver();
  } else {
    clear_has_androidver();
  }
  androidver_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), androidver);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.androidVer)
}

// required int32 unknown3 = 6;
inline bool GetContactRequest_LoginInfo::has_unknown3() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void GetContactRequest_LoginInfo::set_has_unknown3() {
  _has_bits_[0] |= 0x00000020u;
}
inline void GetContactRequest_LoginInfo::clear_has_unknown3() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void GetContactRequest_LoginInfo::clear_unknown3() {
  unknown3_ = 0;
  clear_has_unknown3();
}
inline ::google::protobuf::int32 GetContactRequest_LoginInfo::unknown3() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.unknown3)
  return unknown3_;
}
inline void GetContactRequest_LoginInfo::set_unknown3(::google::protobuf::int32 value) {
  set_has_unknown3();
  unknown3_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo.unknown3)
}

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

// GetContactRequest__SearchName

// required string name = 1;
inline bool GetContactRequest__SearchName::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GetContactRequest__SearchName::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GetContactRequest__SearchName::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GetContactRequest__SearchName::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
inline const ::std::string& GetContactRequest__SearchName::name() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest._SearchName.name)
  return name_.GetNoArena();
}
inline void GetContactRequest__SearchName::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest._SearchName.name)
}
#if LANG_CXX11
inline void GetContactRequest__SearchName::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.GetContactRequest._SearchName.name)
}
#endif
inline void GetContactRequest__SearchName::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.GetContactRequest._SearchName.name)
}
inline void GetContactRequest__SearchName::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.GetContactRequest._SearchName.name)
}
inline ::std::string* GetContactRequest__SearchName::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactRequest._SearchName.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GetContactRequest__SearchName::release_name() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactRequest._SearchName.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GetContactRequest__SearchName::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactRequest._SearchName.name)
}

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

// GetContactRequest__tag7

// required string tag1 = 1;
inline bool GetContactRequest__tag7::has_tag1() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GetContactRequest__tag7::set_has_tag1() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GetContactRequest__tag7::clear_has_tag1() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GetContactRequest__tag7::clear_tag1() {
  tag1_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_tag1();
}
inline const ::std::string& GetContactRequest__tag7::tag1() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest._tag7.tag1)
  return tag1_.GetNoArena();
}
inline void GetContactRequest__tag7::set_tag1(const ::std::string& value) {
  set_has_tag1();
  tag1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest._tag7.tag1)
}
#if LANG_CXX11
inline void GetContactRequest__tag7::set_tag1(::std::string&& value) {
  set_has_tag1();
  tag1_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.GetContactRequest._tag7.tag1)
}
#endif
inline void GetContactRequest__tag7::set_tag1(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_tag1();
  tag1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.GetContactRequest._tag7.tag1)
}
inline void GetContactRequest__tag7::set_tag1(const char* value, size_t size) {
  set_has_tag1();
  tag1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.GetContactRequest._tag7.tag1)
}
inline ::std::string* GetContactRequest__tag7::mutable_tag1() {
  set_has_tag1();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactRequest._tag7.tag1)
  return tag1_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GetContactRequest__tag7::release_tag1() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactRequest._tag7.tag1)
  clear_has_tag1();
  return tag1_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GetContactRequest__tag7::set_allocated_tag1(::std::string* tag1) {
  if (tag1 != NULL) {
    set_has_tag1();
  } else {
    clear_has_tag1();
  }
  tag1_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), tag1);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactRequest._tag7.tag1)
}

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

// GetContactRequest

// required .com.tencent.mars.microchat.proto.GetContactRequest.LoginInfo login = 1;
inline bool GetContactRequest::has_login() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GetContactRequest::set_has_login() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GetContactRequest::clear_has_login() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GetContactRequest::clear_login() {
  if (login_ != NULL) login_->::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo::Clear();
  clear_has_login();
}
inline const ::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo& GetContactRequest::login() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.login)
  return login_ != NULL ? *login_
                         : *::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo* GetContactRequest::mutable_login() {
  set_has_login();
  if (login_ == NULL) {
    login_ = new ::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactRequest.login)
  return login_;
}
inline ::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo* GetContactRequest::release_login() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactRequest.login)
  clear_has_login();
  ::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo* temp = login_;
  login_ = NULL;
  return temp;
}
inline void GetContactRequest::set_allocated_login(::com::tencent::mars::microchat::proto::GetContactRequest_LoginInfo* login) {
  delete login_;
  login_ = login;
  if (login) {
    set_has_login();
  } else {
    clear_has_login();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactRequest.login)
}

// optional int32 tag2 = 2;
inline bool GetContactRequest::has_tag2() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void GetContactRequest::set_has_tag2() {
  _has_bits_[0] |= 0x00000008u;
}
inline void GetContactRequest::clear_has_tag2() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void GetContactRequest::clear_tag2() {
  tag2_ = 0;
  clear_has_tag2();
}
inline ::google::protobuf::int32 GetContactRequest::tag2() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.tag2)
  return tag2_;
}
inline void GetContactRequest::set_tag2(::google::protobuf::int32 value) {
  set_has_tag2();
  tag2_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest.tag2)
}

// required .com.tencent.mars.microchat.proto.GetContactRequest._SearchName name = 3;
inline bool GetContactRequest::has_name() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void GetContactRequest::set_has_name() {
  _has_bits_[0] |= 0x00000002u;
}
inline void GetContactRequest::clear_has_name() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void GetContactRequest::clear_name() {
  if (name_ != NULL) name_->::com::tencent::mars::microchat::proto::GetContactRequest__SearchName::Clear();
  clear_has_name();
}
inline const ::com::tencent::mars::microchat::proto::GetContactRequest__SearchName& GetContactRequest::name() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.name)
  return name_ != NULL ? *name_
                         : *::com::tencent::mars::microchat::proto::GetContactRequest__SearchName::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::GetContactRequest__SearchName* GetContactRequest::mutable_name() {
  set_has_name();
  if (name_ == NULL) {
    name_ = new ::com::tencent::mars::microchat::proto::GetContactRequest__SearchName;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactRequest.name)
  return name_;
}
inline ::com::tencent::mars::microchat::proto::GetContactRequest__SearchName* GetContactRequest::release_name() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactRequest.name)
  clear_has_name();
  ::com::tencent::mars::microchat::proto::GetContactRequest__SearchName* temp = name_;
  name_ = NULL;
  return temp;
}
inline void GetContactRequest::set_allocated_name(::com::tencent::mars::microchat::proto::GetContactRequest__SearchName* name) {
  delete name_;
  name_ = name;
  if (name) {
    set_has_name();
  } else {
    clear_has_name();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactRequest.name)
}

// optional int32 tag4 = 4;
inline bool GetContactRequest::has_tag4() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void GetContactRequest::set_has_tag4() {
  _has_bits_[0] |= 0x00000010u;
}
inline void GetContactRequest::clear_has_tag4() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void GetContactRequest::clear_tag4() {
  tag4_ = 0;
  clear_has_tag4();
}
inline ::google::protobuf::int32 GetContactRequest::tag4() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.tag4)
  return tag4_;
}
inline void GetContactRequest::set_tag4(::google::protobuf::int32 value) {
  set_has_tag4();
  tag4_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest.tag4)
}

// optional int32 tag6 = 6;
inline bool GetContactRequest::has_tag6() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void GetContactRequest::set_has_tag6() {
  _has_bits_[0] |= 0x00000020u;
}
inline void GetContactRequest::clear_has_tag6() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void GetContactRequest::clear_tag6() {
  tag6_ = 0;
  clear_has_tag6();
}
inline ::google::protobuf::int32 GetContactRequest::tag6() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.tag6)
  return tag6_;
}
inline void GetContactRequest::set_tag6(::google::protobuf::int32 value) {
  set_has_tag6();
  tag6_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest.tag6)
}

// optional .com.tencent.mars.microchat.proto.GetContactRequest._tag7 tag7 = 7;
inline bool GetContactRequest::has_tag7() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void GetContactRequest::set_has_tag7() {
  _has_bits_[0] |= 0x00000004u;
}
inline void GetContactRequest::clear_has_tag7() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void GetContactRequest::clear_tag7() {
  if (tag7_ != NULL) tag7_->::com::tencent::mars::microchat::proto::GetContactRequest__tag7::Clear();
  clear_has_tag7();
}
inline const ::com::tencent::mars::microchat::proto::GetContactRequest__tag7& GetContactRequest::tag7() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.tag7)
  return tag7_ != NULL ? *tag7_
                         : *::com::tencent::mars::microchat::proto::GetContactRequest__tag7::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::GetContactRequest__tag7* GetContactRequest::mutable_tag7() {
  set_has_tag7();
  if (tag7_ == NULL) {
    tag7_ = new ::com::tencent::mars::microchat::proto::GetContactRequest__tag7;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactRequest.tag7)
  return tag7_;
}
inline ::com::tencent::mars::microchat::proto::GetContactRequest__tag7* GetContactRequest::release_tag7() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactRequest.tag7)
  clear_has_tag7();
  ::com::tencent::mars::microchat::proto::GetContactRequest__tag7* temp = tag7_;
  tag7_ = NULL;
  return temp;
}
inline void GetContactRequest::set_allocated_tag7(::com::tencent::mars::microchat::proto::GetContactRequest__tag7* tag7) {
  delete tag7_;
  tag7_ = tag7;
  if (tag7) {
    set_has_tag7();
  } else {
    clear_has_tag7();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactRequest.tag7)
}

// optional int32 tag8 = 8;
inline bool GetContactRequest::has_tag8() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void GetContactRequest::set_has_tag8() {
  _has_bits_[0] |= 0x00000040u;
}
inline void GetContactRequest::clear_has_tag8() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void GetContactRequest::clear_tag8() {
  tag8_ = 0;
  clear_has_tag8();
}
inline ::google::protobuf::int32 GetContactRequest::tag8() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactRequest.tag8)
  return tag8_;
}
inline void GetContactRequest::set_tag8(::google::protobuf::int32 value) {
  set_has_tag8();
  tag8_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactRequest.tag8)
}

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

// GetContactResponse__Result__Result

// optional string strResult = 1;
inline bool GetContactResponse__Result__Result::has_strresult() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GetContactResponse__Result__Result::set_has_strresult() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GetContactResponse__Result__Result::clear_has_strresult() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GetContactResponse__Result__Result::clear_strresult() {
  strresult_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_strresult();
}
inline const ::std::string& GetContactResponse__Result__Result::strresult() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactResponse._Result._Result.strResult)
  return strresult_.GetNoArena();
}
inline void GetContactResponse__Result__Result::set_strresult(const ::std::string& value) {
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactResponse._Result._Result.strResult)
}
#if LANG_CXX11
inline void GetContactResponse__Result__Result::set_strresult(::std::string&& value) {
  set_has_strresult();
  strresult_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.GetContactResponse._Result._Result.strResult)
}
#endif
inline void GetContactResponse__Result__Result::set_strresult(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.GetContactResponse._Result._Result.strResult)
}
inline void GetContactResponse__Result__Result::set_strresult(const char* value, size_t size) {
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.GetContactResponse._Result._Result.strResult)
}
inline ::std::string* GetContactResponse__Result__Result::mutable_strresult() {
  set_has_strresult();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactResponse._Result._Result.strResult)
  return strresult_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GetContactResponse__Result__Result::release_strresult() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactResponse._Result._Result.strResult)
  clear_has_strresult();
  return strresult_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GetContactResponse__Result__Result::set_allocated_strresult(::std::string* strresult) {
  if (strresult != NULL) {
    set_has_strresult();
  } else {
    clear_has_strresult();
  }
  strresult_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), strresult);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactResponse._Result._Result.strResult)
}

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

// GetContactResponse__Result

// optional int32 code = 1;
inline bool GetContactResponse__Result::has_code() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void GetContactResponse__Result::set_has_code() {
  _has_bits_[0] |= 0x00000002u;
}
inline void GetContactResponse__Result::clear_has_code() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void GetContactResponse__Result::clear_code() {
  code_ = 0;
  clear_has_code();
}
inline ::google::protobuf::int32 GetContactResponse__Result::code() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactResponse._Result.code)
  return code_;
}
inline void GetContactResponse__Result::set_code(::google::protobuf::int32 value) {
  set_has_code();
  code_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactResponse._Result.code)
}

// optional .com.tencent.mars.microchat.proto.GetContactResponse._Result._Result result = 2;
inline bool GetContactResponse__Result::has_result() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GetContactResponse__Result::set_has_result() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GetContactResponse__Result::clear_has_result() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GetContactResponse__Result::clear_result() {
  if (result_ != NULL) result_->::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result::Clear();
  clear_has_result();
}
inline const ::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result& GetContactResponse__Result::result() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactResponse._Result.result)
  return result_ != NULL ? *result_
                         : *::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result* GetContactResponse__Result::mutable_result() {
  set_has_result();
  if (result_ == NULL) {
    result_ = new ::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactResponse._Result.result)
  return result_;
}
inline ::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result* GetContactResponse__Result::release_result() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactResponse._Result.result)
  clear_has_result();
  ::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result* temp = result_;
  result_ = NULL;
  return temp;
}
inline void GetContactResponse__Result::set_allocated_result(::com::tencent::mars::microchat::proto::GetContactResponse__Result__Result* result) {
  delete result_;
  result_ = result;
  if (result) {
    set_has_result();
  } else {
    clear_has_result();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactResponse._Result.result)
}

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

// GetContactResponse__tag3__V1

// optional string v1_Name = 1;
inline bool GetContactResponse__tag3__V1::has_v1_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GetContactResponse__tag3__V1::set_has_v1_name() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GetContactResponse__tag3__V1::clear_has_v1_name() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GetContactResponse__tag3__V1::clear_v1_name() {
  v1_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_v1_name();
}
inline const ::std::string& GetContactResponse__tag3__V1::v1_name() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1.v1_Name)
  return v1_name_.GetNoArena();
}
inline void GetContactResponse__tag3__V1::set_v1_name(const ::std::string& value) {
  set_has_v1_name();
  v1_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1.v1_Name)
}
#if LANG_CXX11
inline void GetContactResponse__tag3__V1::set_v1_name(::std::string&& value) {
  set_has_v1_name();
  v1_name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1.v1_Name)
}
#endif
inline void GetContactResponse__tag3__V1::set_v1_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_v1_name();
  v1_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1.v1_Name)
}
inline void GetContactResponse__tag3__V1::set_v1_name(const char* value, size_t size) {
  set_has_v1_name();
  v1_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1.v1_Name)
}
inline ::std::string* GetContactResponse__tag3__V1::mutable_v1_name() {
  set_has_v1_name();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1.v1_Name)
  return v1_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GetContactResponse__tag3__V1::release_v1_name() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1.v1_Name)
  clear_has_v1_name();
  return v1_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GetContactResponse__tag3__V1::set_allocated_v1_name(::std::string* v1_name) {
  if (v1_name != NULL) {
    set_has_v1_name();
  } else {
    clear_has_v1_name();
  }
  v1_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), v1_name);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1.v1_Name)
}

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

// GetContactResponse__tag3__NickName

// optional string name = 1;
inline bool GetContactResponse__tag3__NickName::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GetContactResponse__tag3__NickName::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GetContactResponse__tag3__NickName::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GetContactResponse__tag3__NickName::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
inline const ::std::string& GetContactResponse__tag3__NickName::name() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName.name)
  return name_.GetNoArena();
}
inline void GetContactResponse__tag3__NickName::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName.name)
}
#if LANG_CXX11
inline void GetContactResponse__tag3__NickName::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName.name)
}
#endif
inline void GetContactResponse__tag3__NickName::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName.name)
}
inline void GetContactResponse__tag3__NickName::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName.name)
}
inline ::std::string* GetContactResponse__tag3__NickName::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GetContactResponse__tag3__NickName::release_name() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GetContactResponse__tag3__NickName::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName.name)
}

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

// GetContactResponse__tag3

// optional .com.tencent.mars.microchat.proto.GetContactResponse._tag3._V1 v1 = 1;
inline bool GetContactResponse__tag3::has_v1() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void GetContactResponse__tag3::set_has_v1() {
  _has_bits_[0] |= 0x00000002u;
}
inline void GetContactResponse__tag3::clear_has_v1() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void GetContactResponse__tag3::clear_v1() {
  if (v1_ != NULL) v1_->::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1::Clear();
  clear_has_v1();
}
inline const ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1& GetContactResponse__tag3::v1() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactResponse._tag3.v1)
  return v1_ != NULL ? *v1_
                         : *::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1* GetContactResponse__tag3::mutable_v1() {
  set_has_v1();
  if (v1_ == NULL) {
    v1_ = new ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactResponse._tag3.v1)
  return v1_;
}
inline ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1* GetContactResponse__tag3::release_v1() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactResponse._tag3.v1)
  clear_has_v1();
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1* temp = v1_;
  v1_ = NULL;
  return temp;
}
inline void GetContactResponse__tag3::set_allocated_v1(::com::tencent::mars::microchat::proto::GetContactResponse__tag3__V1* v1) {
  delete v1_;
  v1_ = v1;
  if (v1) {
    set_has_v1();
  } else {
    clear_has_v1();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactResponse._tag3.v1)
}

// optional .com.tencent.mars.microchat.proto.GetContactResponse._tag3._NickName nickname = 2;
inline bool GetContactResponse__tag3::has_nickname() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void GetContactResponse__tag3::set_has_nickname() {
  _has_bits_[0] |= 0x00000004u;
}
inline void GetContactResponse__tag3::clear_has_nickname() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void GetContactResponse__tag3::clear_nickname() {
  if (nickname_ != NULL) nickname_->::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName::Clear();
  clear_has_nickname();
}
inline const ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName& GetContactResponse__tag3::nickname() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactResponse._tag3.nickname)
  return nickname_ != NULL ? *nickname_
                         : *::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName* GetContactResponse__tag3::mutable_nickname() {
  set_has_nickname();
  if (nickname_ == NULL) {
    nickname_ = new ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactResponse._tag3.nickname)
  return nickname_;
}
inline ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName* GetContactResponse__tag3::release_nickname() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactResponse._tag3.nickname)
  clear_has_nickname();
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName* temp = nickname_;
  nickname_ = NULL;
  return temp;
}
inline void GetContactResponse__tag3::set_allocated_nickname(::com::tencent::mars::microchat::proto::GetContactResponse__tag3__NickName* nickname) {
  delete nickname_;
  nickname_ = nickname;
  if (nickname) {
    set_has_nickname();
  } else {
    clear_has_nickname();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactResponse._tag3.nickname)
}

// optional string tag44 = 44;
inline bool GetContactResponse__tag3::has_tag44() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GetContactResponse__tag3::set_has_tag44() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GetContactResponse__tag3::clear_has_tag44() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GetContactResponse__tag3::clear_tag44() {
  tag44_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_tag44();
}
inline const ::std::string& GetContactResponse__tag3::tag44() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactResponse._tag3.tag44)
  return tag44_.GetNoArena();
}
inline void GetContactResponse__tag3::set_tag44(const ::std::string& value) {
  set_has_tag44();
  tag44_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.GetContactResponse._tag3.tag44)
}
#if LANG_CXX11
inline void GetContactResponse__tag3::set_tag44(::std::string&& value) {
  set_has_tag44();
  tag44_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.GetContactResponse._tag3.tag44)
}
#endif
inline void GetContactResponse__tag3::set_tag44(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_tag44();
  tag44_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.GetContactResponse._tag3.tag44)
}
inline void GetContactResponse__tag3::set_tag44(const char* value, size_t size) {
  set_has_tag44();
  tag44_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.GetContactResponse._tag3.tag44)
}
inline ::std::string* GetContactResponse__tag3::mutable_tag44() {
  set_has_tag44();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactResponse._tag3.tag44)
  return tag44_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GetContactResponse__tag3::release_tag44() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactResponse._tag3.tag44)
  clear_has_tag44();
  return tag44_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GetContactResponse__tag3::set_allocated_tag44(::std::string* tag44) {
  if (tag44 != NULL) {
    set_has_tag44();
  } else {
    clear_has_tag44();
  }
  tag44_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), tag44);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactResponse._tag3.tag44)
}

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

// GetContactResponse

// optional .com.tencent.mars.microchat.proto.GetContactResponse._Result tag1 = 1;
inline bool GetContactResponse::has_tag1() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GetContactResponse::set_has_tag1() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GetContactResponse::clear_has_tag1() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GetContactResponse::clear_tag1() {
  if (tag1_ != NULL) tag1_->::com::tencent::mars::microchat::proto::GetContactResponse__Result::Clear();
  clear_has_tag1();
}
inline const ::com::tencent::mars::microchat::proto::GetContactResponse__Result& GetContactResponse::tag1() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactResponse.tag1)
  return tag1_ != NULL ? *tag1_
                         : *::com::tencent::mars::microchat::proto::GetContactResponse__Result::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::GetContactResponse__Result* GetContactResponse::mutable_tag1() {
  set_has_tag1();
  if (tag1_ == NULL) {
    tag1_ = new ::com::tencent::mars::microchat::proto::GetContactResponse__Result;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactResponse.tag1)
  return tag1_;
}
inline ::com::tencent::mars::microchat::proto::GetContactResponse__Result* GetContactResponse::release_tag1() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactResponse.tag1)
  clear_has_tag1();
  ::com::tencent::mars::microchat::proto::GetContactResponse__Result* temp = tag1_;
  tag1_ = NULL;
  return temp;
}
inline void GetContactResponse::set_allocated_tag1(::com::tencent::mars::microchat::proto::GetContactResponse__Result* tag1) {
  delete tag1_;
  tag1_ = tag1;
  if (tag1) {
    set_has_tag1();
  } else {
    clear_has_tag1();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactResponse.tag1)
}

// optional .com.tencent.mars.microchat.proto.GetContactResponse._tag3 tag3 = 3;
inline bool GetContactResponse::has_tag3() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void GetContactResponse::set_has_tag3() {
  _has_bits_[0] |= 0x00000002u;
}
inline void GetContactResponse::clear_has_tag3() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void GetContactResponse::clear_tag3() {
  if (tag3_ != NULL) tag3_->::com::tencent::mars::microchat::proto::GetContactResponse__tag3::Clear();
  clear_has_tag3();
}
inline const ::com::tencent::mars::microchat::proto::GetContactResponse__tag3& GetContactResponse::tag3() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.GetContactResponse.tag3)
  return tag3_ != NULL ? *tag3_
                         : *::com::tencent::mars::microchat::proto::GetContactResponse__tag3::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::GetContactResponse__tag3* GetContactResponse::mutable_tag3() {
  set_has_tag3();
  if (tag3_ == NULL) {
    tag3_ = new ::com::tencent::mars::microchat::proto::GetContactResponse__tag3;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.GetContactResponse.tag3)
  return tag3_;
}
inline ::com::tencent::mars::microchat::proto::GetContactResponse__tag3* GetContactResponse::release_tag3() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.GetContactResponse.tag3)
  clear_has_tag3();
  ::com::tencent::mars::microchat::proto::GetContactResponse__tag3* temp = tag3_;
  tag3_ = NULL;
  return temp;
}
inline void GetContactResponse::set_allocated_tag3(::com::tencent::mars::microchat::proto::GetContactResponse__tag3* tag3) {
  delete tag3_;
  tag3_ = tag3;
  if (tag3) {
    set_has_tag3();
  } else {
    clear_has_tag3();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.GetContactResponse.tag3)
}

#endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
// -------------------------------------------------------------------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)


}  // namespace proto
}  // namespace microchat
}  // namespace mars
}  // namespace tencent
}  // namespace com

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_searchcontact_2eproto__INCLUDED
