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

#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "client2world_exchange.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/stubs/once.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>
// @@protoc_insertion_point(includes)

namespace client2world_protocols {

namespace {

const ::google::protobuf::Descriptor* packetc2w_exchange_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  packetc2w_exchange_reflection_ = NULL;
const ::google::protobuf::Descriptor* packetw2c_exchange_result_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  packetw2c_exchange_result_reflection_ = NULL;
const ::google::protobuf::Descriptor* packetc2w_get_exchange_state_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  packetc2w_get_exchange_state_reflection_ = NULL;
const ::google::protobuf::Descriptor* ExchangeInfo_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ExchangeInfo_reflection_ = NULL;
const ::google::protobuf::Descriptor* packetw2c_get_exchange_state_result_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  packetw2c_get_exchange_state_result_reflection_ = NULL;
const ::google::protobuf::Descriptor* packetc2w_req_exchange_count_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  packetc2w_req_exchange_count_reflection_ = NULL;
const ::google::protobuf::Descriptor* ExchangeCountInfo_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ExchangeCountInfo_reflection_ = NULL;
const ::google::protobuf::Descriptor* packetw2c_req_exchange_count_result_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  packetw2c_req_exchange_count_result_reflection_ = NULL;

}  // namespace


void protobuf_AssignDesc_client2world_5fexchange_2eproto() {
  protobuf_AddDesc_client2world_5fexchange_2eproto();
  const ::google::protobuf::FileDescriptor* file =
    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
      "client2world_exchange.proto");
  GOOGLE_CHECK(file != NULL);
  packetc2w_exchange_descriptor_ = file->message_type(0);
  static const int packetc2w_exchange_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_exchange, packet_id_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_exchange, exchangeid_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_exchange, phone_),
  };
  packetc2w_exchange_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      packetc2w_exchange_descriptor_,
      packetc2w_exchange::default_instance_,
      packetc2w_exchange_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_exchange, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_exchange, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(packetc2w_exchange));
  packetw2c_exchange_result_descriptor_ = file->message_type(1);
  static const int packetw2c_exchange_result_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_exchange_result, packet_id_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_exchange_result, exchangeid_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_exchange_result, result_),
  };
  packetw2c_exchange_result_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      packetw2c_exchange_result_descriptor_,
      packetw2c_exchange_result::default_instance_,
      packetw2c_exchange_result_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_exchange_result, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_exchange_result, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(packetw2c_exchange_result));
  packetc2w_get_exchange_state_descriptor_ = file->message_type(2);
  static const int packetc2w_get_exchange_state_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_get_exchange_state, packet_id_),
  };
  packetc2w_get_exchange_state_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      packetc2w_get_exchange_state_descriptor_,
      packetc2w_get_exchange_state::default_instance_,
      packetc2w_get_exchange_state_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_get_exchange_state, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_get_exchange_state, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(packetc2w_get_exchange_state));
  ExchangeInfo_descriptor_ = file->message_type(3);
  static const int ExchangeInfo_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExchangeInfo, time_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExchangeInfo, chgid_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExchangeInfo, state_),
  };
  ExchangeInfo_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      ExchangeInfo_descriptor_,
      ExchangeInfo::default_instance_,
      ExchangeInfo_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExchangeInfo, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExchangeInfo, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(ExchangeInfo));
  packetw2c_get_exchange_state_result_descriptor_ = file->message_type(4);
  static const int packetw2c_get_exchange_state_result_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_get_exchange_state_result, packet_id_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_get_exchange_state_result, infolist_),
  };
  packetw2c_get_exchange_state_result_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      packetw2c_get_exchange_state_result_descriptor_,
      packetw2c_get_exchange_state_result::default_instance_,
      packetw2c_get_exchange_state_result_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_get_exchange_state_result, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_get_exchange_state_result, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(packetw2c_get_exchange_state_result));
  packetc2w_req_exchange_count_descriptor_ = file->message_type(5);
  static const int packetc2w_req_exchange_count_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_req_exchange_count, packet_id_),
  };
  packetc2w_req_exchange_count_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      packetc2w_req_exchange_count_descriptor_,
      packetc2w_req_exchange_count::default_instance_,
      packetc2w_req_exchange_count_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_req_exchange_count, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetc2w_req_exchange_count, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(packetc2w_req_exchange_count));
  ExchangeCountInfo_descriptor_ = file->message_type(6);
  static const int ExchangeCountInfo_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExchangeCountInfo, chgid_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExchangeCountInfo, hasexchangecount_),
  };
  ExchangeCountInfo_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      ExchangeCountInfo_descriptor_,
      ExchangeCountInfo::default_instance_,
      ExchangeCountInfo_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExchangeCountInfo, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExchangeCountInfo, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(ExchangeCountInfo));
  packetw2c_req_exchange_count_result_descriptor_ = file->message_type(7);
  static const int packetw2c_req_exchange_count_result_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_req_exchange_count_result, packet_id_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_req_exchange_count_result, g_infolist_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_req_exchange_count_result, p_infolist_),
  };
  packetw2c_req_exchange_count_result_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      packetw2c_req_exchange_count_result_descriptor_,
      packetw2c_req_exchange_count_result::default_instance_,
      packetw2c_req_exchange_count_result_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_req_exchange_count_result, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(packetw2c_req_exchange_count_result, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(packetw2c_req_exchange_count_result));
}

namespace {

GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
inline void protobuf_AssignDescriptorsOnce() {
  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
                 &protobuf_AssignDesc_client2world_5fexchange_2eproto);
}

void protobuf_RegisterTypes(const ::std::string&) {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    packetc2w_exchange_descriptor_, &packetc2w_exchange::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    packetw2c_exchange_result_descriptor_, &packetw2c_exchange_result::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    packetc2w_get_exchange_state_descriptor_, &packetc2w_get_exchange_state::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    ExchangeInfo_descriptor_, &ExchangeInfo::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    packetw2c_get_exchange_state_result_descriptor_, &packetw2c_get_exchange_state_result::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    packetc2w_req_exchange_count_descriptor_, &packetc2w_req_exchange_count::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    ExchangeCountInfo_descriptor_, &ExchangeCountInfo::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    packetw2c_req_exchange_count_result_descriptor_, &packetw2c_req_exchange_count_result::default_instance());
}

}  // namespace

void protobuf_ShutdownFile_client2world_5fexchange_2eproto() {
  delete packetc2w_exchange::default_instance_;
  delete packetc2w_exchange_reflection_;
  delete packetw2c_exchange_result::default_instance_;
  delete packetw2c_exchange_result_reflection_;
  delete packetc2w_get_exchange_state::default_instance_;
  delete packetc2w_get_exchange_state_reflection_;
  delete ExchangeInfo::default_instance_;
  delete ExchangeInfo_reflection_;
  delete packetw2c_get_exchange_state_result::default_instance_;
  delete packetw2c_get_exchange_state_result_reflection_;
  delete packetc2w_req_exchange_count::default_instance_;
  delete packetc2w_req_exchange_count_reflection_;
  delete ExchangeCountInfo::default_instance_;
  delete ExchangeCountInfo_reflection_;
  delete packetw2c_req_exchange_count_result::default_instance_;
  delete packetw2c_req_exchange_count_result_reflection_;
}

void protobuf_AddDesc_client2world_5fexchange_2eproto() {
  static bool already_here = false;
  if (already_here) return;
  already_here = true;
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  ::client2world_protocols::protobuf_AddDesc_client2world_5fmsg_5ftype_2eproto();
  ::msg_type_def::protobuf_AddDesc_msg_5ftype_5fdef_2eproto();
  ::msg_info_def::protobuf_AddDesc_msg_5finfo_5fdef_2eproto();
  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
    "\n\033client2world_exchange.proto\022\026client2wo"
    "rld_protocols\032\033client2world_msg_type.pro"
    "to\032\022msg_type_def.proto\032\022msg_info_def.pro"
    "to\"\211\001\n\022packetc2w_exchange\022P\n\tpacket_id\030\001"
    " \001(\0162).client2world_protocols.e_server_m"
    "sg_type:\022e_mst_c2w_exchange\022\022\n\nexchangeI"
    "d\030\002 \001(\005\022\r\n\005phone\030\003 \001(\t\"\230\001\n\031packetw2c_exc"
    "hange_result\022W\n\tpacket_id\030\001 \001(\0162).client"
    "2world_protocols.e_server_msg_type:\031e_ms"
    "t_w2c_exchange_result\022\022\n\nexchangeId\030\002 \001("
    "\005\022\016\n\006result\030\003 \001(\005\"z\n\034packetc2w_get_excha"
    "nge_state\022Z\n\tpacket_id\030\001 \001(\0162).client2wo"
    "rld_protocols.e_server_msg_type:\034e_mst_c"
    "2w_get_exchange_state\":\n\014ExchangeInfo\022\014\n"
    "\004time\030\001 \001(\005\022\r\n\005chgId\030\002 \001(\005\022\r\n\005state\030\003 \001("
    "\005\"\300\001\n#packetw2c_get_exchange_state_resul"
    "t\022a\n\tpacket_id\030\001 \001(\0162).client2world_prot"
    "ocols.e_server_msg_type:#e_mst_w2c_get_e"
    "xchange_state_result\0226\n\010infoList\030\002 \003(\0132$"
    ".client2world_protocols.ExchangeInfo\"z\n\034"
    "packetc2w_req_exchange_count\022Z\n\tpacket_i"
    "d\030\001 \001(\0162).client2world_protocols.e_serve"
    "r_msg_type:\034e_mst_c2w_req_exchange_count"
    "\"<\n\021ExchangeCountInfo\022\r\n\005chgId\030\001 \001(\005\022\030\n\020"
    "hasExchangeCount\030\002 \001(\005\"\206\002\n#packetw2c_req"
    "_exchange_count_result\022a\n\tpacket_id\030\001 \001("
    "\0162).client2world_protocols.e_server_msg_"
    "type:#e_mst_w2c_req_exchange_count_resul"
    "t\022=\n\nG_InfoList\030\002 \003(\0132).client2world_pro"
    "tocols.ExchangeCountInfo\022=\n\nP_InfoList\030\003"
    " \003(\0132).client2world_protocols.ExchangeCo"
    "untInfo", 1247);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "client2world_exchange.proto", &protobuf_RegisterTypes);
  packetc2w_exchange::default_instance_ = new packetc2w_exchange();
  packetw2c_exchange_result::default_instance_ = new packetw2c_exchange_result();
  packetc2w_get_exchange_state::default_instance_ = new packetc2w_get_exchange_state();
  ExchangeInfo::default_instance_ = new ExchangeInfo();
  packetw2c_get_exchange_state_result::default_instance_ = new packetw2c_get_exchange_state_result();
  packetc2w_req_exchange_count::default_instance_ = new packetc2w_req_exchange_count();
  ExchangeCountInfo::default_instance_ = new ExchangeCountInfo();
  packetw2c_req_exchange_count_result::default_instance_ = new packetw2c_req_exchange_count_result();
  packetc2w_exchange::default_instance_->InitAsDefaultInstance();
  packetw2c_exchange_result::default_instance_->InitAsDefaultInstance();
  packetc2w_get_exchange_state::default_instance_->InitAsDefaultInstance();
  ExchangeInfo::default_instance_->InitAsDefaultInstance();
  packetw2c_get_exchange_state_result::default_instance_->InitAsDefaultInstance();
  packetc2w_req_exchange_count::default_instance_->InitAsDefaultInstance();
  ExchangeCountInfo::default_instance_->InitAsDefaultInstance();
  packetw2c_req_exchange_count_result::default_instance_->InitAsDefaultInstance();
  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_client2world_5fexchange_2eproto);
}

// Force AddDescriptors() to be called at static initialization time.
struct StaticDescriptorInitializer_client2world_5fexchange_2eproto {
  StaticDescriptorInitializer_client2world_5fexchange_2eproto() {
    protobuf_AddDesc_client2world_5fexchange_2eproto();
  }
} static_descriptor_initializer_client2world_5fexchange_2eproto_;

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

#ifndef _MSC_VER
const int packetc2w_exchange::kPacketIdFieldNumber;
const int packetc2w_exchange::kExchangeIdFieldNumber;
const int packetc2w_exchange::kPhoneFieldNumber;
#endif  // !_MSC_VER

packetc2w_exchange::packetc2w_exchange()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void packetc2w_exchange::InitAsDefaultInstance() {
}

packetc2w_exchange::packetc2w_exchange(const packetc2w_exchange& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void packetc2w_exchange::SharedCtor() {
  _cached_size_ = 0;
  packet_id_ = 5022;
  exchangeid_ = 0;
  phone_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

packetc2w_exchange::~packetc2w_exchange() {
  SharedDtor();
}

void packetc2w_exchange::SharedDtor() {
  if (phone_ != &::google::protobuf::internal::kEmptyString) {
    delete phone_;
  }
  if (this != default_instance_) {
  }
}

void packetc2w_exchange::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* packetc2w_exchange::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return packetc2w_exchange_descriptor_;
}

const packetc2w_exchange& packetc2w_exchange::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_client2world_5fexchange_2eproto();
  return *default_instance_;
}

packetc2w_exchange* packetc2w_exchange::default_instance_ = NULL;

packetc2w_exchange* packetc2w_exchange::New() const {
  return new packetc2w_exchange;
}

void packetc2w_exchange::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    packet_id_ = 5022;
    exchangeid_ = 0;
    if (has_phone()) {
      if (phone_ != &::google::protobuf::internal::kEmptyString) {
        phone_->clear();
      }
    }
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool packetc2w_exchange::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_exchange];
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::client2world_protocols::e_server_msg_type_IsValid(value)) {
            set_packet_id(static_cast< ::client2world_protocols::e_server_msg_type >(value));
          } else {
            mutable_unknown_fields()->AddVarint(1, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_exchangeId;
        break;
      }

      // optional int32 exchangeId = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_exchangeId:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &exchangeid_)));
          set_has_exchangeid();
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(26)) goto parse_phone;
        break;
      }

      // optional string phone = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_phone:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_phone()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->phone().data(), this->phone().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }

      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void packetc2w_exchange::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_exchange];
  if (has_packet_id()) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->packet_id(), output);
  }

  // optional int32 exchangeId = 2;
  if (has_exchangeid()) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->exchangeid(), output);
  }

  // optional string phone = 3;
  if (has_phone()) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->phone().data(), this->phone().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      3, this->phone(), output);
  }

  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* packetc2w_exchange::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_exchange];
  if (has_packet_id()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->packet_id(), target);
  }

  // optional int32 exchangeId = 2;
  if (has_exchangeid()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->exchangeid(), target);
  }

  // optional string phone = 3;
  if (has_phone()) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->phone().data(), this->phone().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->phone(), target);
  }

  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int packetc2w_exchange::ByteSize() const {
  int total_size = 0;

  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_exchange];
    if (has_packet_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->packet_id());
    }

    // optional int32 exchangeId = 2;
    if (has_exchangeid()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->exchangeid());
    }

    // optional string phone = 3;
    if (has_phone()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->phone());
    }

  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void packetc2w_exchange::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const packetc2w_exchange* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const packetc2w_exchange*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void packetc2w_exchange::MergeFrom(const packetc2w_exchange& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from.has_packet_id()) {
      set_packet_id(from.packet_id());
    }
    if (from.has_exchangeid()) {
      set_exchangeid(from.exchangeid());
    }
    if (from.has_phone()) {
      set_phone(from.phone());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void packetc2w_exchange::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void packetc2w_exchange::CopyFrom(const packetc2w_exchange& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool packetc2w_exchange::IsInitialized() const {

  return true;
}

void packetc2w_exchange::Swap(packetc2w_exchange* other) {
  if (other != this) {
    std::swap(packet_id_, other->packet_id_);
    std::swap(exchangeid_, other->exchangeid_);
    std::swap(phone_, other->phone_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata packetc2w_exchange::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = packetc2w_exchange_descriptor_;
  metadata.reflection = packetc2w_exchange_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int packetw2c_exchange_result::kPacketIdFieldNumber;
const int packetw2c_exchange_result::kExchangeIdFieldNumber;
const int packetw2c_exchange_result::kResultFieldNumber;
#endif  // !_MSC_VER

packetw2c_exchange_result::packetw2c_exchange_result()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void packetw2c_exchange_result::InitAsDefaultInstance() {
}

packetw2c_exchange_result::packetw2c_exchange_result(const packetw2c_exchange_result& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void packetw2c_exchange_result::SharedCtor() {
  _cached_size_ = 0;
  packet_id_ = 7524;
  exchangeid_ = 0;
  result_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

packetw2c_exchange_result::~packetw2c_exchange_result() {
  SharedDtor();
}

void packetw2c_exchange_result::SharedDtor() {
  if (this != default_instance_) {
  }
}

void packetw2c_exchange_result::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* packetw2c_exchange_result::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return packetw2c_exchange_result_descriptor_;
}

const packetw2c_exchange_result& packetw2c_exchange_result::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_client2world_5fexchange_2eproto();
  return *default_instance_;
}

packetw2c_exchange_result* packetw2c_exchange_result::default_instance_ = NULL;

packetw2c_exchange_result* packetw2c_exchange_result::New() const {
  return new packetw2c_exchange_result;
}

void packetw2c_exchange_result::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    packet_id_ = 7524;
    exchangeid_ = 0;
    result_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool packetw2c_exchange_result::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_exchange_result];
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::client2world_protocols::e_server_msg_type_IsValid(value)) {
            set_packet_id(static_cast< ::client2world_protocols::e_server_msg_type >(value));
          } else {
            mutable_unknown_fields()->AddVarint(1, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_exchangeId;
        break;
      }

      // optional int32 exchangeId = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_exchangeId:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &exchangeid_)));
          set_has_exchangeid();
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(24)) goto parse_result;
        break;
      }

      // optional int32 result = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_result:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &result_)));
          set_has_result();
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }

      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void packetw2c_exchange_result::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_exchange_result];
  if (has_packet_id()) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->packet_id(), output);
  }

  // optional int32 exchangeId = 2;
  if (has_exchangeid()) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->exchangeid(), output);
  }

  // optional int32 result = 3;
  if (has_result()) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->result(), output);
  }

  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* packetw2c_exchange_result::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_exchange_result];
  if (has_packet_id()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->packet_id(), target);
  }

  // optional int32 exchangeId = 2;
  if (has_exchangeid()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->exchangeid(), target);
  }

  // optional int32 result = 3;
  if (has_result()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->result(), target);
  }

  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int packetw2c_exchange_result::ByteSize() const {
  int total_size = 0;

  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_exchange_result];
    if (has_packet_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->packet_id());
    }

    // optional int32 exchangeId = 2;
    if (has_exchangeid()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->exchangeid());
    }

    // optional int32 result = 3;
    if (has_result()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->result());
    }

  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void packetw2c_exchange_result::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const packetw2c_exchange_result* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const packetw2c_exchange_result*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void packetw2c_exchange_result::MergeFrom(const packetw2c_exchange_result& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from.has_packet_id()) {
      set_packet_id(from.packet_id());
    }
    if (from.has_exchangeid()) {
      set_exchangeid(from.exchangeid());
    }
    if (from.has_result()) {
      set_result(from.result());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void packetw2c_exchange_result::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void packetw2c_exchange_result::CopyFrom(const packetw2c_exchange_result& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool packetw2c_exchange_result::IsInitialized() const {

  return true;
}

void packetw2c_exchange_result::Swap(packetw2c_exchange_result* other) {
  if (other != this) {
    std::swap(packet_id_, other->packet_id_);
    std::swap(exchangeid_, other->exchangeid_);
    std::swap(result_, other->result_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata packetw2c_exchange_result::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = packetw2c_exchange_result_descriptor_;
  metadata.reflection = packetw2c_exchange_result_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int packetc2w_get_exchange_state::kPacketIdFieldNumber;
#endif  // !_MSC_VER

packetc2w_get_exchange_state::packetc2w_get_exchange_state()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void packetc2w_get_exchange_state::InitAsDefaultInstance() {
}

packetc2w_get_exchange_state::packetc2w_get_exchange_state(const packetc2w_get_exchange_state& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void packetc2w_get_exchange_state::SharedCtor() {
  _cached_size_ = 0;
  packet_id_ = 5047;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

packetc2w_get_exchange_state::~packetc2w_get_exchange_state() {
  SharedDtor();
}

void packetc2w_get_exchange_state::SharedDtor() {
  if (this != default_instance_) {
  }
}

void packetc2w_get_exchange_state::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* packetc2w_get_exchange_state::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return packetc2w_get_exchange_state_descriptor_;
}

const packetc2w_get_exchange_state& packetc2w_get_exchange_state::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_client2world_5fexchange_2eproto();
  return *default_instance_;
}

packetc2w_get_exchange_state* packetc2w_get_exchange_state::default_instance_ = NULL;

packetc2w_get_exchange_state* packetc2w_get_exchange_state::New() const {
  return new packetc2w_get_exchange_state;
}

void packetc2w_get_exchange_state::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    packet_id_ = 5047;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool packetc2w_get_exchange_state::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_get_exchange_state];
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::client2world_protocols::e_server_msg_type_IsValid(value)) {
            set_packet_id(static_cast< ::client2world_protocols::e_server_msg_type >(value));
          } else {
            mutable_unknown_fields()->AddVarint(1, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }

      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void packetc2w_get_exchange_state::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_get_exchange_state];
  if (has_packet_id()) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->packet_id(), output);
  }

  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* packetc2w_get_exchange_state::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_get_exchange_state];
  if (has_packet_id()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->packet_id(), target);
  }

  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int packetc2w_get_exchange_state::ByteSize() const {
  int total_size = 0;

  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_get_exchange_state];
    if (has_packet_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->packet_id());
    }

  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void packetc2w_get_exchange_state::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const packetc2w_get_exchange_state* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const packetc2w_get_exchange_state*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void packetc2w_get_exchange_state::MergeFrom(const packetc2w_get_exchange_state& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from.has_packet_id()) {
      set_packet_id(from.packet_id());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void packetc2w_get_exchange_state::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void packetc2w_get_exchange_state::CopyFrom(const packetc2w_get_exchange_state& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool packetc2w_get_exchange_state::IsInitialized() const {

  return true;
}

void packetc2w_get_exchange_state::Swap(packetc2w_get_exchange_state* other) {
  if (other != this) {
    std::swap(packet_id_, other->packet_id_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata packetc2w_get_exchange_state::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = packetc2w_get_exchange_state_descriptor_;
  metadata.reflection = packetc2w_get_exchange_state_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int ExchangeInfo::kTimeFieldNumber;
const int ExchangeInfo::kChgIdFieldNumber;
const int ExchangeInfo::kStateFieldNumber;
#endif  // !_MSC_VER

ExchangeInfo::ExchangeInfo()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void ExchangeInfo::InitAsDefaultInstance() {
}

ExchangeInfo::ExchangeInfo(const ExchangeInfo& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void ExchangeInfo::SharedCtor() {
  _cached_size_ = 0;
  time_ = 0;
  chgid_ = 0;
  state_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

ExchangeInfo::~ExchangeInfo() {
  SharedDtor();
}

void ExchangeInfo::SharedDtor() {
  if (this != default_instance_) {
  }
}

void ExchangeInfo::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ExchangeInfo::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ExchangeInfo_descriptor_;
}

const ExchangeInfo& ExchangeInfo::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_client2world_5fexchange_2eproto();
  return *default_instance_;
}

ExchangeInfo* ExchangeInfo::default_instance_ = NULL;

ExchangeInfo* ExchangeInfo::New() const {
  return new ExchangeInfo;
}

void ExchangeInfo::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    time_ = 0;
    chgid_ = 0;
    state_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool ExchangeInfo::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 time = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &time_)));
          set_has_time();
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_chgId;
        break;
      }

      // optional int32 chgId = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_chgId:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &chgid_)));
          set_has_chgid();
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(24)) goto parse_state;
        break;
      }

      // optional int32 state = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_state:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &state_)));
          set_has_state();
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }

      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void ExchangeInfo::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional int32 time = 1;
  if (has_time()) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->time(), output);
  }

  // optional int32 chgId = 2;
  if (has_chgid()) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->chgid(), output);
  }

  // optional int32 state = 3;
  if (has_state()) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->state(), output);
  }

  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* ExchangeInfo::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional int32 time = 1;
  if (has_time()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->time(), target);
  }

  // optional int32 chgId = 2;
  if (has_chgid()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->chgid(), target);
  }

  // optional int32 state = 3;
  if (has_state()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->state(), target);
  }

  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int ExchangeInfo::ByteSize() const {
  int total_size = 0;

  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional int32 time = 1;
    if (has_time()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->time());
    }

    // optional int32 chgId = 2;
    if (has_chgid()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->chgid());
    }

    // optional int32 state = 3;
    if (has_state()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->state());
    }

  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ExchangeInfo::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const ExchangeInfo* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const ExchangeInfo*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void ExchangeInfo::MergeFrom(const ExchangeInfo& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from.has_time()) {
      set_time(from.time());
    }
    if (from.has_chgid()) {
      set_chgid(from.chgid());
    }
    if (from.has_state()) {
      set_state(from.state());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void ExchangeInfo::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ExchangeInfo::CopyFrom(const ExchangeInfo& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ExchangeInfo::IsInitialized() const {

  return true;
}

void ExchangeInfo::Swap(ExchangeInfo* other) {
  if (other != this) {
    std::swap(time_, other->time_);
    std::swap(chgid_, other->chgid_);
    std::swap(state_, other->state_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata ExchangeInfo::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ExchangeInfo_descriptor_;
  metadata.reflection = ExchangeInfo_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int packetw2c_get_exchange_state_result::kPacketIdFieldNumber;
const int packetw2c_get_exchange_state_result::kInfoListFieldNumber;
#endif  // !_MSC_VER

packetw2c_get_exchange_state_result::packetw2c_get_exchange_state_result()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void packetw2c_get_exchange_state_result::InitAsDefaultInstance() {
}

packetw2c_get_exchange_state_result::packetw2c_get_exchange_state_result(const packetw2c_get_exchange_state_result& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void packetw2c_get_exchange_state_result::SharedCtor() {
  _cached_size_ = 0;
  packet_id_ = 7551;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

packetw2c_get_exchange_state_result::~packetw2c_get_exchange_state_result() {
  SharedDtor();
}

void packetw2c_get_exchange_state_result::SharedDtor() {
  if (this != default_instance_) {
  }
}

void packetw2c_get_exchange_state_result::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* packetw2c_get_exchange_state_result::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return packetw2c_get_exchange_state_result_descriptor_;
}

const packetw2c_get_exchange_state_result& packetw2c_get_exchange_state_result::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_client2world_5fexchange_2eproto();
  return *default_instance_;
}

packetw2c_get_exchange_state_result* packetw2c_get_exchange_state_result::default_instance_ = NULL;

packetw2c_get_exchange_state_result* packetw2c_get_exchange_state_result::New() const {
  return new packetw2c_get_exchange_state_result;
}

void packetw2c_get_exchange_state_result::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    packet_id_ = 7551;
  }
  infolist_.Clear();
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool packetw2c_get_exchange_state_result::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_get_exchange_state_result];
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::client2world_protocols::e_server_msg_type_IsValid(value)) {
            set_packet_id(static_cast< ::client2world_protocols::e_server_msg_type >(value));
          } else {
            mutable_unknown_fields()->AddVarint(1, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(18)) goto parse_infoList;
        break;
      }

      // repeated .client2world_protocols.ExchangeInfo infoList = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_infoList:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_infolist()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(18)) goto parse_infoList;
        if (input->ExpectAtEnd()) return true;
        break;
      }

      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void packetw2c_get_exchange_state_result::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_get_exchange_state_result];
  if (has_packet_id()) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->packet_id(), output);
  }

  // repeated .client2world_protocols.ExchangeInfo infoList = 2;
  for (int i = 0; i < this->infolist_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, this->infolist(i), output);
  }

  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* packetw2c_get_exchange_state_result::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_get_exchange_state_result];
  if (has_packet_id()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->packet_id(), target);
  }

  // repeated .client2world_protocols.ExchangeInfo infoList = 2;
  for (int i = 0; i < this->infolist_size(); i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        2, this->infolist(i), target);
  }

  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int packetw2c_get_exchange_state_result::ByteSize() const {
  int total_size = 0;

  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_get_exchange_state_result];
    if (has_packet_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->packet_id());
    }

  }
  // repeated .client2world_protocols.ExchangeInfo infoList = 2;
  total_size += 1 * this->infolist_size();
  for (int i = 0; i < this->infolist_size(); i++) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        this->infolist(i));
  }

  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void packetw2c_get_exchange_state_result::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const packetw2c_get_exchange_state_result* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const packetw2c_get_exchange_state_result*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void packetw2c_get_exchange_state_result::MergeFrom(const packetw2c_get_exchange_state_result& from) {
  GOOGLE_CHECK_NE(&from, this);
  infolist_.MergeFrom(from.infolist_);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from.has_packet_id()) {
      set_packet_id(from.packet_id());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void packetw2c_get_exchange_state_result::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void packetw2c_get_exchange_state_result::CopyFrom(const packetw2c_get_exchange_state_result& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool packetw2c_get_exchange_state_result::IsInitialized() const {

  return true;
}

void packetw2c_get_exchange_state_result::Swap(packetw2c_get_exchange_state_result* other) {
  if (other != this) {
    std::swap(packet_id_, other->packet_id_);
    infolist_.Swap(&other->infolist_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata packetw2c_get_exchange_state_result::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = packetw2c_get_exchange_state_result_descriptor_;
  metadata.reflection = packetw2c_get_exchange_state_result_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int packetc2w_req_exchange_count::kPacketIdFieldNumber;
#endif  // !_MSC_VER

packetc2w_req_exchange_count::packetc2w_req_exchange_count()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void packetc2w_req_exchange_count::InitAsDefaultInstance() {
}

packetc2w_req_exchange_count::packetc2w_req_exchange_count(const packetc2w_req_exchange_count& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void packetc2w_req_exchange_count::SharedCtor() {
  _cached_size_ = 0;
  packet_id_ = 5079;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

packetc2w_req_exchange_count::~packetc2w_req_exchange_count() {
  SharedDtor();
}

void packetc2w_req_exchange_count::SharedDtor() {
  if (this != default_instance_) {
  }
}

void packetc2w_req_exchange_count::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* packetc2w_req_exchange_count::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return packetc2w_req_exchange_count_descriptor_;
}

const packetc2w_req_exchange_count& packetc2w_req_exchange_count::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_client2world_5fexchange_2eproto();
  return *default_instance_;
}

packetc2w_req_exchange_count* packetc2w_req_exchange_count::default_instance_ = NULL;

packetc2w_req_exchange_count* packetc2w_req_exchange_count::New() const {
  return new packetc2w_req_exchange_count;
}

void packetc2w_req_exchange_count::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    packet_id_ = 5079;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool packetc2w_req_exchange_count::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_req_exchange_count];
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::client2world_protocols::e_server_msg_type_IsValid(value)) {
            set_packet_id(static_cast< ::client2world_protocols::e_server_msg_type >(value));
          } else {
            mutable_unknown_fields()->AddVarint(1, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }

      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void packetc2w_req_exchange_count::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_req_exchange_count];
  if (has_packet_id()) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->packet_id(), output);
  }

  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* packetc2w_req_exchange_count::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_req_exchange_count];
  if (has_packet_id()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->packet_id(), target);
  }

  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int packetc2w_req_exchange_count::ByteSize() const {
  int total_size = 0;

  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_c2w_req_exchange_count];
    if (has_packet_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->packet_id());
    }

  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void packetc2w_req_exchange_count::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const packetc2w_req_exchange_count* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const packetc2w_req_exchange_count*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void packetc2w_req_exchange_count::MergeFrom(const packetc2w_req_exchange_count& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from.has_packet_id()) {
      set_packet_id(from.packet_id());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void packetc2w_req_exchange_count::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void packetc2w_req_exchange_count::CopyFrom(const packetc2w_req_exchange_count& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool packetc2w_req_exchange_count::IsInitialized() const {

  return true;
}

void packetc2w_req_exchange_count::Swap(packetc2w_req_exchange_count* other) {
  if (other != this) {
    std::swap(packet_id_, other->packet_id_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata packetc2w_req_exchange_count::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = packetc2w_req_exchange_count_descriptor_;
  metadata.reflection = packetc2w_req_exchange_count_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int ExchangeCountInfo::kChgIdFieldNumber;
const int ExchangeCountInfo::kHasExchangeCountFieldNumber;
#endif  // !_MSC_VER

ExchangeCountInfo::ExchangeCountInfo()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void ExchangeCountInfo::InitAsDefaultInstance() {
}

ExchangeCountInfo::ExchangeCountInfo(const ExchangeCountInfo& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void ExchangeCountInfo::SharedCtor() {
  _cached_size_ = 0;
  chgid_ = 0;
  hasexchangecount_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

ExchangeCountInfo::~ExchangeCountInfo() {
  SharedDtor();
}

void ExchangeCountInfo::SharedDtor() {
  if (this != default_instance_) {
  }
}

void ExchangeCountInfo::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ExchangeCountInfo::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ExchangeCountInfo_descriptor_;
}

const ExchangeCountInfo& ExchangeCountInfo::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_client2world_5fexchange_2eproto();
  return *default_instance_;
}

ExchangeCountInfo* ExchangeCountInfo::default_instance_ = NULL;

ExchangeCountInfo* ExchangeCountInfo::New() const {
  return new ExchangeCountInfo;
}

void ExchangeCountInfo::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    chgid_ = 0;
    hasexchangecount_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool ExchangeCountInfo::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 chgId = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &chgid_)));
          set_has_chgid();
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_hasExchangeCount;
        break;
      }

      // optional int32 hasExchangeCount = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_hasExchangeCount:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &hasexchangecount_)));
          set_has_hasexchangecount();
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }

      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void ExchangeCountInfo::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional int32 chgId = 1;
  if (has_chgid()) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->chgid(), output);
  }

  // optional int32 hasExchangeCount = 2;
  if (has_hasexchangecount()) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->hasexchangecount(), output);
  }

  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* ExchangeCountInfo::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional int32 chgId = 1;
  if (has_chgid()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->chgid(), target);
  }

  // optional int32 hasExchangeCount = 2;
  if (has_hasexchangecount()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->hasexchangecount(), target);
  }

  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int ExchangeCountInfo::ByteSize() const {
  int total_size = 0;

  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional int32 chgId = 1;
    if (has_chgid()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->chgid());
    }

    // optional int32 hasExchangeCount = 2;
    if (has_hasexchangecount()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->hasexchangecount());
    }

  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ExchangeCountInfo::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const ExchangeCountInfo* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const ExchangeCountInfo*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void ExchangeCountInfo::MergeFrom(const ExchangeCountInfo& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from.has_chgid()) {
      set_chgid(from.chgid());
    }
    if (from.has_hasexchangecount()) {
      set_hasexchangecount(from.hasexchangecount());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void ExchangeCountInfo::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ExchangeCountInfo::CopyFrom(const ExchangeCountInfo& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ExchangeCountInfo::IsInitialized() const {

  return true;
}

void ExchangeCountInfo::Swap(ExchangeCountInfo* other) {
  if (other != this) {
    std::swap(chgid_, other->chgid_);
    std::swap(hasexchangecount_, other->hasexchangecount_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata ExchangeCountInfo::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ExchangeCountInfo_descriptor_;
  metadata.reflection = ExchangeCountInfo_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int packetw2c_req_exchange_count_result::kPacketIdFieldNumber;
const int packetw2c_req_exchange_count_result::kGInfoListFieldNumber;
const int packetw2c_req_exchange_count_result::kPInfoListFieldNumber;
#endif  // !_MSC_VER

packetw2c_req_exchange_count_result::packetw2c_req_exchange_count_result()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void packetw2c_req_exchange_count_result::InitAsDefaultInstance() {
}

packetw2c_req_exchange_count_result::packetw2c_req_exchange_count_result(const packetw2c_req_exchange_count_result& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void packetw2c_req_exchange_count_result::SharedCtor() {
  _cached_size_ = 0;
  packet_id_ = 7585;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

packetw2c_req_exchange_count_result::~packetw2c_req_exchange_count_result() {
  SharedDtor();
}

void packetw2c_req_exchange_count_result::SharedDtor() {
  if (this != default_instance_) {
  }
}

void packetw2c_req_exchange_count_result::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* packetw2c_req_exchange_count_result::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return packetw2c_req_exchange_count_result_descriptor_;
}

const packetw2c_req_exchange_count_result& packetw2c_req_exchange_count_result::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_client2world_5fexchange_2eproto();
  return *default_instance_;
}

packetw2c_req_exchange_count_result* packetw2c_req_exchange_count_result::default_instance_ = NULL;

packetw2c_req_exchange_count_result* packetw2c_req_exchange_count_result::New() const {
  return new packetw2c_req_exchange_count_result;
}

void packetw2c_req_exchange_count_result::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    packet_id_ = 7585;
  }
  g_infolist_.Clear();
  p_infolist_.Clear();
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool packetw2c_req_exchange_count_result::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_req_exchange_count_result];
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::client2world_protocols::e_server_msg_type_IsValid(value)) {
            set_packet_id(static_cast< ::client2world_protocols::e_server_msg_type >(value));
          } else {
            mutable_unknown_fields()->AddVarint(1, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(18)) goto parse_G_InfoList;
        break;
      }

      // repeated .client2world_protocols.ExchangeCountInfo G_InfoList = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_G_InfoList:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_g_infolist()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(18)) goto parse_G_InfoList;
        if (input->ExpectTag(26)) goto parse_P_InfoList;
        break;
      }

      // repeated .client2world_protocols.ExchangeCountInfo P_InfoList = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_P_InfoList:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_p_infolist()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(26)) goto parse_P_InfoList;
        if (input->ExpectAtEnd()) return true;
        break;
      }

      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void packetw2c_req_exchange_count_result::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_req_exchange_count_result];
  if (has_packet_id()) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->packet_id(), output);
  }

  // repeated .client2world_protocols.ExchangeCountInfo G_InfoList = 2;
  for (int i = 0; i < this->g_infolist_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, this->g_infolist(i), output);
  }

  // repeated .client2world_protocols.ExchangeCountInfo P_InfoList = 3;
  for (int i = 0; i < this->p_infolist_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, this->p_infolist(i), output);
  }

  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* packetw2c_req_exchange_count_result::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_req_exchange_count_result];
  if (has_packet_id()) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->packet_id(), target);
  }

  // repeated .client2world_protocols.ExchangeCountInfo G_InfoList = 2;
  for (int i = 0; i < this->g_infolist_size(); i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        2, this->g_infolist(i), target);
  }

  // repeated .client2world_protocols.ExchangeCountInfo P_InfoList = 3;
  for (int i = 0; i < this->p_infolist_size(); i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        3, this->p_infolist(i), target);
  }

  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int packetw2c_req_exchange_count_result::ByteSize() const {
  int total_size = 0;

  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .client2world_protocols.e_server_msg_type packet_id = 1 [default = e_mst_w2c_req_exchange_count_result];
    if (has_packet_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->packet_id());
    }

  }
  // repeated .client2world_protocols.ExchangeCountInfo G_InfoList = 2;
  total_size += 1 * this->g_infolist_size();
  for (int i = 0; i < this->g_infolist_size(); i++) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        this->g_infolist(i));
  }

  // repeated .client2world_protocols.ExchangeCountInfo P_InfoList = 3;
  total_size += 1 * this->p_infolist_size();
  for (int i = 0; i < this->p_infolist_size(); i++) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        this->p_infolist(i));
  }

  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void packetw2c_req_exchange_count_result::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const packetw2c_req_exchange_count_result* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const packetw2c_req_exchange_count_result*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void packetw2c_req_exchange_count_result::MergeFrom(const packetw2c_req_exchange_count_result& from) {
  GOOGLE_CHECK_NE(&from, this);
  g_infolist_.MergeFrom(from.g_infolist_);
  p_infolist_.MergeFrom(from.p_infolist_);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from.has_packet_id()) {
      set_packet_id(from.packet_id());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void packetw2c_req_exchange_count_result::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void packetw2c_req_exchange_count_result::CopyFrom(const packetw2c_req_exchange_count_result& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool packetw2c_req_exchange_count_result::IsInitialized() const {

  return true;
}

void packetw2c_req_exchange_count_result::Swap(packetw2c_req_exchange_count_result* other) {
  if (other != this) {
    std::swap(packet_id_, other->packet_id_);
    g_infolist_.Swap(&other->g_infolist_);
    p_infolist_.Swap(&other->p_infolist_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata packetw2c_req_exchange_count_result::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = packetw2c_req_exchange_count_result_descriptor_;
  metadata.reflection = packetw2c_req_exchange_count_result_reflection_;
  return metadata;
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace client2world_protocols

// @@protoc_insertion_point(global_scope)
