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

#include "login.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/stubs/port.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// This is a temporary google only hack
#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
#include "third_party/protobuf/version.h"
#endif
// @@protoc_insertion_point(includes)

namespace protobuf_login_2eproto {
extern PROTOBUF_INTERNAL_EXPORT_protobuf_login_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_rdetail;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_login_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_rtype;
}  // namespace protobuf_login_2eproto
class loginDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<login>
      _instance;
} _login_default_instance_;
class userInfoDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<userInfo>
      _instance;
} _userInfo_default_instance_;
class rtypeDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<rtype>
      _instance;
} _rtype_default_instance_;
class rdetailDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<rdetail>
      _instance;
} _rdetail_default_instance_;
namespace protobuf_login_2eproto {
static void InitDefaultslogin() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::_login_default_instance_;
    new (ptr) ::login();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::login::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<0> scc_info_login =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultslogin}, {}};

static void InitDefaultsuserInfo() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::_userInfo_default_instance_;
    new (ptr) ::userInfo();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::userInfo::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<1> scc_info_userInfo =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsuserInfo}, {
      &protobuf_login_2eproto::scc_info_rtype.base,}};

static void InitDefaultsrtype() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::_rtype_default_instance_;
    new (ptr) ::rtype();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::rtype::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<1> scc_info_rtype =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsrtype}, {
      &protobuf_login_2eproto::scc_info_rdetail.base,}};

static void InitDefaultsrdetail() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::_rdetail_default_instance_;
    new (ptr) ::rdetail();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::rdetail::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<0> scc_info_rdetail =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsrdetail}, {}};

void InitDefaults() {
  ::google::protobuf::internal::InitSCC(&scc_info_login.base);
  ::google::protobuf::internal::InitSCC(&scc_info_userInfo.base);
  ::google::protobuf::internal::InitSCC(&scc_info_rtype.base);
  ::google::protobuf::internal::InitSCC(&scc_info_rdetail.base);
}

::google::protobuf::Metadata file_level_metadata[4];

const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::login, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::login, phone_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::login, passwrod_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::login, macaddr_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, name_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, gender_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, phone_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, reply_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rtype, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rtype, id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rtype, name_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rtype, detail_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rdetail, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rdetail, id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rdetail, name_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rdetail, content_),
};
static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, sizeof(::login)},
  { 8, -1, sizeof(::userInfo)},
  { 18, -1, sizeof(::rtype)},
  { 26, -1, sizeof(::rdetail)},
};

static ::google::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::google::protobuf::Message*>(&::_login_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::_userInfo_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::_rtype_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::_rdetail_default_instance_),
};

void protobuf_AssignDescriptors() {
  AddDescriptors();
  AssignDescriptors(
      "login.proto", schemas, file_default_instances, TableStruct::offsets,
      file_level_metadata, NULL, NULL);
}

void protobuf_AssignDescriptorsOnce() {
  static ::google::protobuf::internal::once_flag once;
  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
}

void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
void protobuf_RegisterTypes(const ::std::string&) {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 4);
}

void AddDescriptorsImpl() {
  InitDefaults();
  static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
      "\n\013login.proto\"9\n\005login\022\r\n\005phone\030\001 \001(\t\022\020\n"
      "\010passwrod\030\002 \001(\t\022\017\n\007macAddr\030\003 \001(\t\"Z\n\010user"
      "Info\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\016\n\006gender"
      "\030\003 \001(\010\022\r\n\005phone\030\004 \001(\t\022\025\n\005reply\030\005 \003(\0132\006.r"
      "type\";\n\005rtype\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022"
      "\030\n\006detail\030\003 \003(\0132\010.rdetail\"4\n\007rdetail\022\n\n\002"
      "id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\017\n\007content\030\003 \001(\tb"
      "\006proto3"
  };
  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
      descriptor, 287);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "login.proto", &protobuf_RegisterTypes);
}

void AddDescriptors() {
  static ::google::protobuf::internal::once_flag once;
  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
}
// Force AddDescriptors() to be called at dynamic initialization time.
struct StaticDescriptorInitializer {
  StaticDescriptorInitializer() {
    AddDescriptors();
  }
} static_descriptor_initializer;
}  // namespace protobuf_login_2eproto

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

void login::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int login::kPhoneFieldNumber;
const int login::kPasswrodFieldNumber;
const int login::kMacAddrFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

login::login()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_login_2eproto::scc_info_login.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:login)
}
login::login(const login& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  phone_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.phone().size() > 0) {
    phone_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.phone_);
  }
  passwrod_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.passwrod().size() > 0) {
    passwrod_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.passwrod_);
  }
  macaddr_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.macaddr().size() > 0) {
    macaddr_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.macaddr_);
  }
  // @@protoc_insertion_point(copy_constructor:login)
}

void login::SharedCtor() {
  phone_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  passwrod_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  macaddr_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

login::~login() {
  // @@protoc_insertion_point(destructor:login)
  SharedDtor();
}

void login::SharedDtor() {
  phone_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  passwrod_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  macaddr_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void login::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* login::descriptor() {
  ::protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const login& login::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_login_2eproto::scc_info_login.base);
  return *internal_default_instance();
}


void login::Clear() {
// @@protoc_insertion_point(message_clear_start:login)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  phone_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  passwrod_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  macaddr_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _internal_metadata_.Clear();
}

bool login::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:login)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string phone = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_phone()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->phone().data(), static_cast<int>(this->phone().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "login.phone"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string passwrod = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_passwrod()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->passwrod().data(), static_cast<int>(this->passwrod().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "login.passwrod"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string macAddr = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_macaddr()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->macaddr().data(), static_cast<int>(this->macaddr().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "login.macAddr"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:login)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:login)
  return false;
#undef DO_
}

void login::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:login)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string phone = 1;
  if (this->phone().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->phone().data(), static_cast<int>(this->phone().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "login.phone");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->phone(), output);
  }

  // string passwrod = 2;
  if (this->passwrod().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->passwrod().data(), static_cast<int>(this->passwrod().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "login.passwrod");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->passwrod(), output);
  }

  // string macAddr = 3;
  if (this->macaddr().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->macaddr().data(), static_cast<int>(this->macaddr().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "login.macAddr");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->macaddr(), output);
  }

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
  }
  // @@protoc_insertion_point(serialize_end:login)
}

::google::protobuf::uint8* login::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:login)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string phone = 1;
  if (this->phone().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->phone().data(), static_cast<int>(this->phone().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "login.phone");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->phone(), target);
  }

  // string passwrod = 2;
  if (this->passwrod().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->passwrod().data(), static_cast<int>(this->passwrod().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "login.passwrod");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->passwrod(), target);
  }

  // string macAddr = 3;
  if (this->macaddr().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->macaddr().data(), static_cast<int>(this->macaddr().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "login.macAddr");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->macaddr(), target);
  }

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:login)
  return target;
}

size_t login::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:login)
  size_t total_size = 0;

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
  }
  // string phone = 1;
  if (this->phone().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->phone());
  }

  // string passwrod = 2;
  if (this->passwrod().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->passwrod());
  }

  // string macAddr = 3;
  if (this->macaddr().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->macaddr());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void login::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:login)
  GOOGLE_DCHECK_NE(&from, this);
  const login* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const login>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:login)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:login)
    MergeFrom(*source);
  }
}

void login::MergeFrom(const login& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:login)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.phone().size() > 0) {

    phone_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.phone_);
  }
  if (from.passwrod().size() > 0) {

    passwrod_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.passwrod_);
  }
  if (from.macaddr().size() > 0) {

    macaddr_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.macaddr_);
  }
}

void login::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:login)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void login::CopyFrom(const login& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:login)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool login::IsInitialized() const {
  return true;
}

void login::Swap(login* other) {
  if (other == this) return;
  InternalSwap(other);
}
void login::InternalSwap(login* other) {
  using std::swap;
  phone_.Swap(&other->phone_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  passwrod_.Swap(&other->passwrod_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  macaddr_.Swap(&other->macaddr_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata login::GetMetadata() const {
  protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages];
}


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

void userInfo::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int userInfo::kIdFieldNumber;
const int userInfo::kNameFieldNumber;
const int userInfo::kGenderFieldNumber;
const int userInfo::kPhoneFieldNumber;
const int userInfo::kReplyFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

userInfo::userInfo()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_login_2eproto::scc_info_userInfo.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:userInfo)
}
userInfo::userInfo(const userInfo& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      reply_(from.reply_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.id().size() > 0) {
    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
  }
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.name().size() > 0) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  phone_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.phone().size() > 0) {
    phone_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.phone_);
  }
  gender_ = from.gender_;
  // @@protoc_insertion_point(copy_constructor:userInfo)
}

void userInfo::SharedCtor() {
  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  phone_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  gender_ = false;
}

userInfo::~userInfo() {
  // @@protoc_insertion_point(destructor:userInfo)
  SharedDtor();
}

void userInfo::SharedDtor() {
  id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  phone_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void userInfo::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* userInfo::descriptor() {
  ::protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const userInfo& userInfo::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_login_2eproto::scc_info_userInfo.base);
  return *internal_default_instance();
}


void userInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:userInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  reply_.Clear();
  id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  phone_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  gender_ = false;
  _internal_metadata_.Clear();
}

bool userInfo::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:userInfo)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string id = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_id()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->id().data(), static_cast<int>(this->id().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "userInfo.id"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string name = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->name().data(), static_cast<int>(this->name().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "userInfo.name"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // bool gender = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &gender_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string phone = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_phone()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->phone().data(), static_cast<int>(this->phone().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "userInfo.phone"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .rtype reply = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                input, add_reply()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:userInfo)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:userInfo)
  return false;
#undef DO_
}

void userInfo::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:userInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string id = 1;
  if (this->id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->id().data(), static_cast<int>(this->id().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "userInfo.id");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->id(), output);
  }

  // string name = 2;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), static_cast<int>(this->name().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "userInfo.name");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->name(), output);
  }

  // bool gender = 3;
  if (this->gender() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->gender(), output);
  }

  // string phone = 4;
  if (this->phone().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->phone().data(), static_cast<int>(this->phone().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "userInfo.phone");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->phone(), output);
  }

  // repeated .rtype reply = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->reply_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      5,
      this->reply(static_cast<int>(i)),
      output);
  }

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
  }
  // @@protoc_insertion_point(serialize_end:userInfo)
}

::google::protobuf::uint8* userInfo::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:userInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string id = 1;
  if (this->id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->id().data(), static_cast<int>(this->id().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "userInfo.id");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->id(), target);
  }

  // string name = 2;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), static_cast<int>(this->name().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "userInfo.name");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->name(), target);
  }

  // bool gender = 3;
  if (this->gender() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->gender(), target);
  }

  // string phone = 4;
  if (this->phone().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->phone().data(), static_cast<int>(this->phone().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "userInfo.phone");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        4, this->phone(), target);
  }

  // repeated .rtype reply = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->reply_size()); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        5, this->reply(static_cast<int>(i)), deterministic, target);
  }

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:userInfo)
  return target;
}

size_t userInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:userInfo)
  size_t total_size = 0;

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
  }
  // repeated .rtype reply = 5;
  {
    unsigned int count = static_cast<unsigned int>(this->reply_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          this->reply(static_cast<int>(i)));
    }
  }

  // string id = 1;
  if (this->id().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->id());
  }

  // string name = 2;
  if (this->name().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->name());
  }

  // string phone = 4;
  if (this->phone().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->phone());
  }

  // bool gender = 3;
  if (this->gender() != 0) {
    total_size += 1 + 1;
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void userInfo::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:userInfo)
  GOOGLE_DCHECK_NE(&from, this);
  const userInfo* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const userInfo>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:userInfo)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:userInfo)
    MergeFrom(*source);
  }
}

void userInfo::MergeFrom(const userInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:userInfo)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  reply_.MergeFrom(from.reply_);
  if (from.id().size() > 0) {

    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
  }
  if (from.name().size() > 0) {

    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  if (from.phone().size() > 0) {

    phone_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.phone_);
  }
  if (from.gender() != 0) {
    set_gender(from.gender());
  }
}

void userInfo::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:userInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void userInfo::CopyFrom(const userInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:userInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool userInfo::IsInitialized() const {
  return true;
}

void userInfo::Swap(userInfo* other) {
  if (other == this) return;
  InternalSwap(other);
}
void userInfo::InternalSwap(userInfo* other) {
  using std::swap;
  CastToBase(&reply_)->InternalSwap(CastToBase(&other->reply_));
  id_.Swap(&other->id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  phone_.Swap(&other->phone_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(gender_, other->gender_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata userInfo::GetMetadata() const {
  protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages];
}


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

void rtype::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int rtype::kIdFieldNumber;
const int rtype::kNameFieldNumber;
const int rtype::kDetailFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

rtype::rtype()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_login_2eproto::scc_info_rtype.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:rtype)
}
rtype::rtype(const rtype& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      detail_(from.detail_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.id().size() > 0) {
    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
  }
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.name().size() > 0) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  // @@protoc_insertion_point(copy_constructor:rtype)
}

void rtype::SharedCtor() {
  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

rtype::~rtype() {
  // @@protoc_insertion_point(destructor:rtype)
  SharedDtor();
}

void rtype::SharedDtor() {
  id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void rtype::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* rtype::descriptor() {
  ::protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const rtype& rtype::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_login_2eproto::scc_info_rtype.base);
  return *internal_default_instance();
}


void rtype::Clear() {
// @@protoc_insertion_point(message_clear_start:rtype)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  detail_.Clear();
  id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _internal_metadata_.Clear();
}

bool rtype::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:rtype)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string id = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_id()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->id().data(), static_cast<int>(this->id().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "rtype.id"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string name = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->name().data(), static_cast<int>(this->name().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "rtype.name"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .rdetail detail = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                input, add_detail()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:rtype)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:rtype)
  return false;
#undef DO_
}

void rtype::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:rtype)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string id = 1;
  if (this->id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->id().data(), static_cast<int>(this->id().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "rtype.id");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->id(), output);
  }

  // string name = 2;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), static_cast<int>(this->name().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "rtype.name");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->name(), output);
  }

  // repeated .rdetail detail = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->detail_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3,
      this->detail(static_cast<int>(i)),
      output);
  }

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
  }
  // @@protoc_insertion_point(serialize_end:rtype)
}

::google::protobuf::uint8* rtype::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:rtype)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string id = 1;
  if (this->id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->id().data(), static_cast<int>(this->id().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "rtype.id");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->id(), target);
  }

  // string name = 2;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), static_cast<int>(this->name().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "rtype.name");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->name(), target);
  }

  // repeated .rdetail detail = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->detail_size()); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, this->detail(static_cast<int>(i)), deterministic, target);
  }

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:rtype)
  return target;
}

size_t rtype::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:rtype)
  size_t total_size = 0;

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
  }
  // repeated .rdetail detail = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->detail_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          this->detail(static_cast<int>(i)));
    }
  }

  // string id = 1;
  if (this->id().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->id());
  }

  // string name = 2;
  if (this->name().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->name());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void rtype::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:rtype)
  GOOGLE_DCHECK_NE(&from, this);
  const rtype* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const rtype>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:rtype)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:rtype)
    MergeFrom(*source);
  }
}

void rtype::MergeFrom(const rtype& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:rtype)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  detail_.MergeFrom(from.detail_);
  if (from.id().size() > 0) {

    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
  }
  if (from.name().size() > 0) {

    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
}

void rtype::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:rtype)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void rtype::CopyFrom(const rtype& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:rtype)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool rtype::IsInitialized() const {
  return true;
}

void rtype::Swap(rtype* other) {
  if (other == this) return;
  InternalSwap(other);
}
void rtype::InternalSwap(rtype* other) {
  using std::swap;
  CastToBase(&detail_)->InternalSwap(CastToBase(&other->detail_));
  id_.Swap(&other->id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata rtype::GetMetadata() const {
  protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages];
}


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

void rdetail::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int rdetail::kIdFieldNumber;
const int rdetail::kNameFieldNumber;
const int rdetail::kContentFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

rdetail::rdetail()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_login_2eproto::scc_info_rdetail.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:rdetail)
}
rdetail::rdetail(const rdetail& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.id().size() > 0) {
    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
  }
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.name().size() > 0) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  content_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.content().size() > 0) {
    content_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.content_);
  }
  // @@protoc_insertion_point(copy_constructor:rdetail)
}

void rdetail::SharedCtor() {
  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  content_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

rdetail::~rdetail() {
  // @@protoc_insertion_point(destructor:rdetail)
  SharedDtor();
}

void rdetail::SharedDtor() {
  id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  content_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void rdetail::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* rdetail::descriptor() {
  ::protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const rdetail& rdetail::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_login_2eproto::scc_info_rdetail.base);
  return *internal_default_instance();
}


void rdetail::Clear() {
// @@protoc_insertion_point(message_clear_start:rdetail)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  content_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _internal_metadata_.Clear();
}

bool rdetail::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:rdetail)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string id = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_id()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->id().data(), static_cast<int>(this->id().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "rdetail.id"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string name = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->name().data(), static_cast<int>(this->name().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "rdetail.name"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string content = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_content()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->content().data(), static_cast<int>(this->content().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "rdetail.content"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:rdetail)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:rdetail)
  return false;
#undef DO_
}

void rdetail::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:rdetail)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string id = 1;
  if (this->id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->id().data(), static_cast<int>(this->id().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "rdetail.id");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->id(), output);
  }

  // string name = 2;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), static_cast<int>(this->name().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "rdetail.name");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->name(), output);
  }

  // string content = 3;
  if (this->content().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->content().data(), static_cast<int>(this->content().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "rdetail.content");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->content(), output);
  }

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
  }
  // @@protoc_insertion_point(serialize_end:rdetail)
}

::google::protobuf::uint8* rdetail::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:rdetail)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string id = 1;
  if (this->id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->id().data(), static_cast<int>(this->id().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "rdetail.id");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->id(), target);
  }

  // string name = 2;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), static_cast<int>(this->name().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "rdetail.name");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->name(), target);
  }

  // string content = 3;
  if (this->content().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->content().data(), static_cast<int>(this->content().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "rdetail.content");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->content(), target);
  }

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:rdetail)
  return target;
}

size_t rdetail::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:rdetail)
  size_t total_size = 0;

  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
  }
  // string id = 1;
  if (this->id().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->id());
  }

  // string name = 2;
  if (this->name().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->name());
  }

  // string content = 3;
  if (this->content().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->content());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void rdetail::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:rdetail)
  GOOGLE_DCHECK_NE(&from, this);
  const rdetail* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const rdetail>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:rdetail)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:rdetail)
    MergeFrom(*source);
  }
}

void rdetail::MergeFrom(const rdetail& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:rdetail)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.id().size() > 0) {

    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
  }
  if (from.name().size() > 0) {

    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  if (from.content().size() > 0) {

    content_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.content_);
  }
}

void rdetail::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:rdetail)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void rdetail::CopyFrom(const rdetail& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:rdetail)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool rdetail::IsInitialized() const {
  return true;
}

void rdetail::Swap(rdetail* other) {
  if (other == this) return;
  InternalSwap(other);
}
void rdetail::InternalSwap(rdetail* other) {
  using std::swap;
  id_.Swap(&other->id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  content_.Swap(&other->content_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata rdetail::GetMetadata() const {
  protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages];
}


// @@protoc_insertion_point(namespace_scope)
namespace google {
namespace protobuf {
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::login* Arena::CreateMaybeMessage< ::login >(Arena* arena) {
  return Arena::CreateInternal< ::login >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::userInfo* Arena::CreateMaybeMessage< ::userInfo >(Arena* arena) {
  return Arena::CreateInternal< ::userInfo >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::rtype* Arena::CreateMaybeMessage< ::rtype >(Arena* arena) {
  return Arena::CreateInternal< ::rtype >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::rdetail* Arena::CreateMaybeMessage< ::rdetail >(Arena* arena) {
  return Arena::CreateInternal< ::rdetail >(arena);
}
}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)
