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

#include "message_base.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_message_5fbase_2eproto {
extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Base_info;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Car_info;
}  // namespace protobuf_message_5fbase_2eproto
namespace message {
class Base_infoDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Base_info>
      _instance;
} _Base_info_default_instance_;
class Base_msgDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Base_msg>
      _instance;
} _Base_msg_default_instance_;
class Error_managerDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Error_manager>
      _instance;
} _Error_manager_default_instance_;
class Locate_informationDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Locate_information>
      _instance;
} _Locate_information_default_instance_;
class Car_infoDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Car_info>
      _instance;
} _Car_info_default_instance_;
class Parkspace_infoDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Parkspace_info>
      _instance;
} _Parkspace_info_default_instance_;
class Id_structDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Id_struct>
      _instance;
} _Id_struct_default_instance_;
}  // namespace message
namespace protobuf_message_5fbase_2eproto {
static void InitDefaultsBase_info() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Base_info_default_instance_;
    new (ptr) ::message::Base_info();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Base_info::InitAsDefaultInstance();
}

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

static void InitDefaultsBase_msg() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Base_msg_default_instance_;
    new (ptr) ::message::Base_msg();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Base_msg::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<1> scc_info_Base_msg =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsBase_msg}, {
      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,}};

static void InitDefaultsError_manager() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Error_manager_default_instance_;
    new (ptr) ::message::Error_manager();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Error_manager::InitAsDefaultInstance();
}

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

static void InitDefaultsLocate_information() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Locate_information_default_instance_;
    new (ptr) ::message::Locate_information();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Locate_information::InitAsDefaultInstance();
}

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

static void InitDefaultsCar_info() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Car_info_default_instance_;
    new (ptr) ::message::Car_info();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Car_info::InitAsDefaultInstance();
}

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

static void InitDefaultsParkspace_info() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Parkspace_info_default_instance_;
    new (ptr) ::message::Parkspace_info();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Parkspace_info::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<1> scc_info_Parkspace_info =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsParkspace_info}, {
      &protobuf_message_5fbase_2eproto::scc_info_Car_info.base,}};

static void InitDefaultsId_struct() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Id_struct_default_instance_;
    new (ptr) ::message::Id_struct();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Id_struct::InitAsDefaultInstance();
}

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

void InitDefaults() {
  ::google::protobuf::internal::InitSCC(&scc_info_Base_info.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Base_msg.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Error_manager.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Locate_information.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Car_info.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Parkspace_info.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Id_struct.base);
}

::google::protobuf::Metadata file_level_metadata[7];
const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[12];

const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, msg_type_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, timeout_ms_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, sender_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, receiver_),
  0,
  1,
  2,
  3,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, base_info_),
  0,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Error_manager, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Error_manager, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Error_manager, error_code_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Error_manager, error_level_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Error_manager, error_description_),
  1,
  2,
  0,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, locate_x_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, locate_y_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, locate_angle_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, locate_length_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, locate_width_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, locate_height_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, locate_wheel_base_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, locate_wheel_width_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, locate_correct_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, locate_front_theta_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, uniformed_car_x_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_information, uniformed_car_y_),
  0,
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Car_info, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Car_info, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Car_info, car_length_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Car_info, car_width_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Car_info, car_height_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Car_info, license_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Car_info, car_numberplate_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Car_info, car_wheel_base_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Car_info, car_wheel_width_),
  2,
  3,
  4,
  0,
  1,
  5,
  6,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkingspace_index_id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkingspace_type_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkingspace_unit_id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkingspace_label_id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkingspace_room_id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkingspace_direction_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkingspace_floor_id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkingspace_width_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkingspace_height_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkingspace_status_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, car_info_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, entry_time_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, leave_time_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkspace_path_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, path_estimate_time_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, parkspace_status_target_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Parkspace_info, car_type_),
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  12,
  2,
  0,
  1,
  13,
  14,
  15,
  16,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Id_struct, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Id_struct, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Id_struct, terminal_id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Id_struct, unit_id_),
  0,
  1,
};
static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  { 0, 9, sizeof(::message::Base_info)},
  { 13, 19, sizeof(::message::Base_msg)},
  { 20, 28, sizeof(::message::Error_manager)},
  { 31, 48, sizeof(::message::Locate_information)},
  { 60, 72, sizeof(::message::Car_info)},
  { 79, 101, sizeof(::message::Parkspace_info)},
  { 118, 125, sizeof(::message::Id_struct)},
};

static ::google::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Base_info_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Base_msg_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Error_manager_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Locate_information_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Car_info_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Parkspace_info_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Id_struct_default_instance_),
};

void protobuf_AssignDescriptors() {
  AddDescriptors();
  AssignDescriptors(
      "message_base.proto", schemas, file_default_instances, TableStruct::offsets,
      file_level_metadata, file_level_enum_descriptors, 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, 7);
}

void AddDescriptorsImpl() {
  InitDefaults();
  static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
      "\n\022message_base.proto\022\007message\"\266\001\n\tBase_i"
      "nfo\0222\n\010msg_type\030\001 \002(\0162\025.message.Message_"
      "type:\teBase_msg\022\025\n\ntimeout_ms\030\002 \001(\005:\0010\022-"
      "\n\006sender\030\003 \002(\0162\025.message.Communicator:\006e"
      "Empty\022/\n\010receiver\030\004 \002(\0162\025.message.Commun"
      "icator:\006eEmpty\"1\n\010Base_msg\022%\n\tbase_info\030"
      "\001 \002(\0132\022.message.Base_info\"v\n\rError_manag"
      "er\022\025\n\nerror_code\030\001 \002(\005:\0010\0221\n\013error_level"
      "\030\002 \001(\0162\024.message.Error_level:\006NORMAL\022\033\n\021"
      "error_description\030\003 \001(\t:\000\"\321\002\n\022Locate_inf"
      "ormation\022\023\n\010locate_x\030\001 \001(\002:\0010\022\023\n\010locate_"
      "y\030\002 \001(\002:\0010\022\027\n\014locate_angle\030\003 \001(\002:\0010\022\030\n\rl"
      "ocate_length\030\004 \001(\002:\0010\022\027\n\014locate_width\030\005 "
      "\001(\002:\0010\022\030\n\rlocate_height\030\006 \001(\002:\0010\022\034\n\021loca"
      "te_wheel_base\030\007 \001(\002:\0010\022\035\n\022locate_wheel_w"
      "idth\030\010 \001(\002:\0010\022\035\n\016locate_correct\030\t \001(\010:\005f"
      "alse\022\035\n\022locate_front_theta\030\n \001(\002:\0010\022\027\n\017u"
      "niformed_car_x\030\013 \001(\002\022\027\n\017uniformed_car_y\030"
      "\014 \001(\002\"\263\001\n\010Car_info\022\025\n\ncar_length\030\001 \001(\002:\001"
      "0\022\024\n\tcar_width\030\002 \001(\002:\0010\022\025\n\ncar_height\030\003 "
      "\001(\002:\0010\022\021\n\007license\030\004 \001(\t:\000\022\031\n\017car_numberP"
      "late\030\005 \001(\t:\000\022\031\n\016car_wheel_base\030\006 \001(\002:\0010\022"
      "\032\n\017car_wheel_width\030\007 \001(\002:\0010\"\375\004\n\016Parkspac"
      "e_info\022\035\n\025parkingspace_index_id\030\001 \001(\005\0222\n"
      "\021parkingspace_type\030\002 \001(\0162\027.message.Parks"
      "pace_type\022\034\n\024parkingspace_unit_id\030\003 \001(\005\022"
      "\035\n\025parkingspace_label_id\030\004 \001(\005\022\034\n\024parkin"
      "gspace_room_id\030\005 \001(\005\0222\n\026parkingspace_dir"
      "ection\030\006 \001(\0162\022.message.Direction\022\035\n\025park"
      "ingspace_floor_id\030\007 \001(\005\022\032\n\022parkingspace_"
      "width\030\010 \001(\002\022\033\n\023parkingspace_height\030\t \001(\002"
      "\0226\n\023parkingspace_status\030\n \001(\0162\031.message."
      "Parkspace_status\022#\n\010car_info\030\013 \001(\0132\021.mes"
      "sage.Car_info\022\022\n\nentry_time\030\014 \001(\t\022\022\n\nlea"
      "ve_time\030\r \001(\t\022/\n\016parkspace_path\030\016 \001(\0162\027."
      "message.Parkspace_path\022\032\n\022path_estimate_"
      "time\030\017 \001(\002\022:\n\027parkspace_status_target\030\020 "
      "\001(\0162\031.message.Parkspace_status\022#\n\010car_ty"
      "pe\030\021 \001(\0162\021.message.Car_type\"1\n\tId_struct"
      "\022\023\n\013terminal_id\030\001 \001(\005\022\017\n\007unit_id\030\002 \001(\005*\307"
      "\014\n\014Message_type\022\r\n\teBase_msg\020\000\022\020\n\014eComma"
      "nd_msg\020\001\022\026\n\022eLocate_status_msg\020\021\022\027\n\023eLoc"
      "ate_request_msg\020\022\022\030\n\024eLocate_response_ms"
      "g\020\023\022\034\n\030eLocate_sift_request_msg\020\024\022\035\n\031eLo"
      "cate_sift_response_msg\020\025\022\030\n\024eDispatch_st"
      "atus_msg\020!\022\031\n\025eDispatch_request_msg\020\"\022\032\n"
      "\026eDispatch_response_msg\020#\022$\n eParkspace_"
      "allocation_status_msg\0201\022%\n!eParkspace_al"
      "location_request_msg\0202\022&\n\"eParkspace_all"
      "ocation_response_msg\0203\022!\n\035eParkspace_sea"
      "rch_request_msg\0204\022\"\n\036eParkspace_search_r"
      "esponse_msg\0205\022\"\n\036eParkspace_release_requ"
      "est_msg\0206\022#\n\037eParkspace_release_response"
      "_msg\0207\022\'\n#eParkspace_force_update_reques"
      "t_msg\0208\022(\n$eParkspace_force_update_respo"
      "nse_msg\0209\022(\n$eParkspace_confirm_alloc_re"
      "quest_msg\020:\022)\n%eParkspace_confirm_alloc_"
      "response_msg\020;\022\"\n\036eParkspace_allocation_"
      "data_msg\020<\022+\n\'eParkspace_allocation_data"
      "_response_msg\020=\022(\n$eParkspace_manual_sea"
      "rch_request_msg\020>\022)\n%eParkspace_manual_s"
      "earch_response_msg\020\?\022\036\n\032eStore_command_r"
      "equest_msg\020A\022\037\n\033eStore_command_response_"
      "msg\020B\022\037\n\033ePickup_command_request_msg\020C\022 "
      "\n\034ePickup_command_response_msg\020D\022\030\n\024eTer"
      "minal_status_msg\020P\022\037\n\032eStoring_process_s"
      "tatu_msg\020\220\001\022\037\n\032ePicking_process_statu_ms"
      "g\020\221\001\022\"\n\035eCentral_controller_statu_msg\020\240\001"
      "\022#\n\036eEntrance_manual_operation_msg\020\260\001\022\"\n"
      "\035eProcess_manual_operation_msg\020\261\001\022\030\n\023eNo"
      "tify_request_msg\020\300\001\022\031\n\024eNotify_response_"
      "msg\020\301\001\022\027\n\022eNotify_status_msg\020\302\001\022#\n\036eUnNo"
      "rmalized_module_statu_msg\020\320\001\022\037\n\032eDispatc"
      "h_plan_request_msg\020\340\001\022 \n\033eDispatch_plan_"
      "response_msg\020\341\001\022\"\n\035eDispatch_control_req"
      "uest_msg\020\342\001\022#\n\036eDispatch_control_respons"
      "e_msg\020\343\001\022!\n\034eDispatch_manager_status_msg"
      "\020\352\001\022\037\n\032eDispatch_manager_data_msg\020\353\001\022\037\n\032"
      "eGround_detect_request_msg\020\360\001\022 \n\033eGround"
      "_detect_response_msg\020\361\001\022\027\n\022eGround_statu"
      "s_msg\020\362\001*\307\001\n\014Communicator\022\n\n\006eEmpty\020\000\022\t\n"
      "\005eMain\020\001\022\016\n\teTerminor\020\200\002\022\017\n\neParkspace\020\200"
      "\004\022\016\n\teMeasurer\020\200\006\022\032\n\025eMeasurer_sift_serv"
      "er\020\201\006\022\026\n\021eDispatch_manager\020\200\010\022\026\n\021eDispat"
      "ch_control\020\201\010\022\014\n\007eNotify\020\201\n\022\025\n\020eGround_m"
      "easurer\020\200\036**\n\014Process_type\022\014\n\010eStoring\020\001"
      "\022\014\n\010ePicking\020\002*e\n\013Error_level\022\n\n\006NORMAL\020"
      "\000\022\024\n\020NEGLIGIBLE_ERROR\020\001\022\017\n\013MINOR_ERROR\020\002"
      "\022\017\n\013MAJOR_ERROR\020\003\022\022\n\016CRITICAL_ERROR\020\004*\245\001"
      "\n\020Parkspace_status\022\034\n\030eParkspace_status_"
      "unknow\020\000\022\024\n\020eParkspace_empty\020\001\022\027\n\023eParks"
      "pace_occupied\020\002\022\027\n\023eParkspace_reserved\020\003"
      "\022\025\n\021eParkspace_locked\020\004\022\024\n\020eParkspace_er"
      "ror\020\005*\?\n\tDirection\022\025\n\021eDirection_unknow\020"
      "\000\022\014\n\010eForward\020\001\022\r\n\teBackward\020\002*l\n\016Parksp"
      "ace_path\022\017\n\013UNKNOW_PATH\020\000\022\020\n\014OPTIMAL_PAT"
      "H\020\001\022\r\n\tLEFT_PATH\020\002\022\016\n\nRIGHT_PATH\020\003\022\030\n\024TE"
      "MPORARY_CACHE_PATH\020\004*m\n\016Parkspace_type\022\031"
      "\n\025UNKNOW_PARKSPACE_TYPE\020\000\022\024\n\020MIN_PARKING"
      "SPACE\020\001\022\024\n\020MID_PARKINGSPACE\020\002\022\024\n\020BIG_PAR"
      "KINGSPACE\020\003*F\n\010Car_type\022\023\n\017UNKNOW_CAR_TY"
      "PE\020\000\022\013\n\007MIN_CAR\020\001\022\013\n\007MID_CAR\020\002\022\013\n\007BIG_CA"
      "R\020\003*\335\002\n\tStep_type\022\017\n\013eAlloc_step\020\000\022\021\n\reM"
      "easure_step\020\001\022\021\n\reCompare_step\020\002\022\022\n\016eDis"
      "patch_step\020\003\022\021\n\reConfirm_step\020\004\022\020\n\014eSear"
      "ch_step\020\005\022\016\n\neWait_step\020\006\022\021\n\reRelease_st"
      "ep\020\007\022\r\n\teComplete\020\010\022\025\n\021eBackConfirm_step"
      "\020\t\022\026\n\022eBack_compare_step\020\n\022\025\n\021eBackMeasu"
      "re_step\020\013\022\023\n\017eBackAlloc_step\020\014\022\022\n\016eBackW"
      "ait_step\020\r\022\026\n\022eBackDispatch_step\020\016\022\024\n\020eB"
      "ackSearch_step\020\017\022\021\n\reBackComplete\020\020*C\n\nS"
      "tep_statu\022\014\n\010eWaiting\020\000\022\014\n\010eWorking\020\001\022\n\n"
      "\006eError\020\002\022\r\n\teFinished\020\003*\370\001\n\024Dispatch_de"
      "vice_type\022\013\n\007ROBOT_1\020e\022\013\n\007ROBOT_2\020f\022\016\n\tC"
      "ARRIER_1\020\310\001\022\016\n\tCARRIER_2\020\317\001\022\016\n\tCARRIER_3"
      "\020\313\001\022\021\n\014PASSAGEWAY_0\020\254\002\022\021\n\014PASSAGEWAY_1\020\255"
      "\002\022\021\n\014PASSAGEWAY_2\020\256\002\022\021\n\014PASSAGEWAY_3\020\257\002\022"
      "\021\n\014PASSAGEWAY_4\020\260\002\022\021\n\014PASSAGEWAY_5\020\261\002\022\021\n"
      "\014PASSAGEWAY_6\020\262\002\022\021\n\014PASSAGEWAY_7\020\263\002"
  };
  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
      descriptor, 4755);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "message_base.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_message_5fbase_2eproto
namespace message {
const ::google::protobuf::EnumDescriptor* Message_type_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[0];
}
bool Message_type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 17:
    case 18:
    case 19:
    case 20:
    case 21:
    case 33:
    case 34:
    case 35:
    case 49:
    case 50:
    case 51:
    case 52:
    case 53:
    case 54:
    case 55:
    case 56:
    case 57:
    case 58:
    case 59:
    case 60:
    case 61:
    case 62:
    case 63:
    case 65:
    case 66:
    case 67:
    case 68:
    case 80:
    case 144:
    case 145:
    case 160:
    case 176:
    case 177:
    case 192:
    case 193:
    case 194:
    case 208:
    case 224:
    case 225:
    case 226:
    case 227:
    case 234:
    case 235:
    case 240:
    case 241:
    case 242:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Communicator_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[1];
}
bool Communicator_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 256:
    case 512:
    case 768:
    case 769:
    case 1024:
    case 1025:
    case 1281:
    case 3840:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Process_type_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[2];
}
bool Process_type_IsValid(int value) {
  switch (value) {
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Error_level_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[3];
}
bool Error_level_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Parkspace_status_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[4];
}
bool Parkspace_status_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Direction_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[5];
}
bool Direction_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Parkspace_path_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[6];
}
bool Parkspace_path_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Parkspace_type_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[7];
}
bool Parkspace_type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Car_type_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[8];
}
bool Car_type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Step_type_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[9];
}
bool Step_type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Step_statu_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[10];
}
bool Step_statu_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Dispatch_device_type_descriptor() {
  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_message_5fbase_2eproto::file_level_enum_descriptors[11];
}
bool Dispatch_device_type_IsValid(int value) {
  switch (value) {
    case 101:
    case 102:
    case 200:
    case 203:
    case 207:
    case 300:
    case 301:
    case 302:
    case 303:
    case 304:
    case 305:
    case 306:
    case 307:
      return true;
    default:
      return false;
  }
}


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

void Base_info::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Base_info::kMsgTypeFieldNumber;
const int Base_info::kTimeoutMsFieldNumber;
const int Base_info::kSenderFieldNumber;
const int Base_info::kReceiverFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Base_info::Base_info()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Base_info)
}
Base_info::Base_info(const Base_info& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&msg_type_, &from.msg_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&receiver_) -
    reinterpret_cast<char*>(&msg_type_)) + sizeof(receiver_));
  // @@protoc_insertion_point(copy_constructor:message.Base_info)
}

void Base_info::SharedCtor() {
  ::memset(&msg_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&receiver_) -
      reinterpret_cast<char*>(&msg_type_)) + sizeof(receiver_));
}

Base_info::~Base_info() {
  // @@protoc_insertion_point(destructor:message.Base_info)
  SharedDtor();
}

void Base_info::SharedDtor() {
}

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

const Base_info& Base_info::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Base_info.base);
  return *internal_default_instance();
}


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

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    ::memset(&msg_type_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&receiver_) -
        reinterpret_cast<char*>(&msg_type_)) + sizeof(receiver_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Base_info::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:message.Base_info)
  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)) {
      // required .message.Message_type msg_type = 1 [default = eBase_msg];
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Message_type_IsValid(value)) {
            set_msg_type(static_cast< ::message::Message_type >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                1, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 timeout_ms = 2 [default = 0];
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_timeout_ms();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &timeout_ms_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Communicator sender = 3 [default = eEmpty];
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Communicator_IsValid(value)) {
            set_sender(static_cast< ::message::Communicator >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                3, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Communicator receiver = 4 [default = eEmpty];
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Communicator_IsValid(value)) {
            set_receiver(static_cast< ::message::Communicator >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                4, static_cast< ::google::protobuf::uint64>(value));
          }
        } 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:message.Base_info)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Base_info)
  return false;
#undef DO_
}

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

  cached_has_bits = _has_bits_[0];
  // required .message.Message_type msg_type = 1 [default = eBase_msg];
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->msg_type(), output);
  }

  // optional int32 timeout_ms = 2 [default = 0];
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->timeout_ms(), output);
  }

  // required .message.Communicator sender = 3 [default = eEmpty];
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      3, this->sender(), output);
  }

  // required .message.Communicator receiver = 4 [default = eEmpty];
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      4, this->receiver(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Base_info)
}

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

  cached_has_bits = _has_bits_[0];
  // required .message.Message_type msg_type = 1 [default = eBase_msg];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->msg_type(), target);
  }

  // optional int32 timeout_ms = 2 [default = 0];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->timeout_ms(), target);
  }

  // required .message.Communicator sender = 3 [default = eEmpty];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      3, this->sender(), target);
  }

  // required .message.Communicator receiver = 4 [default = eEmpty];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      4, this->receiver(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Base_info)
  return target;
}

size_t Base_info::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Base_info)
  size_t total_size = 0;

  if (has_msg_type()) {
    // required .message.Message_type msg_type = 1 [default = eBase_msg];
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->msg_type());
  }

  if (has_sender()) {
    // required .message.Communicator sender = 3 [default = eEmpty];
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->sender());
  }

  if (has_receiver()) {
    // required .message.Communicator receiver = 4 [default = eEmpty];
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->receiver());
  }

  return total_size;
}
size_t Base_info::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Base_info)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x0000000d) ^ 0x0000000d) == 0) {  // All required fields are present.
    // required .message.Message_type msg_type = 1 [default = eBase_msg];
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->msg_type());

    // required .message.Communicator sender = 3 [default = eEmpty];
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->sender());

    // required .message.Communicator receiver = 4 [default = eEmpty];
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->receiver());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  // optional int32 timeout_ms = 2 [default = 0];
  if (has_timeout_ms()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->timeout_ms());
  }

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

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

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

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      msg_type_ = from.msg_type_;
    }
    if (cached_has_bits & 0x00000002u) {
      timeout_ms_ = from.timeout_ms_;
    }
    if (cached_has_bits & 0x00000004u) {
      sender_ = from.sender_;
    }
    if (cached_has_bits & 0x00000008u) {
      receiver_ = from.receiver_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

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

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

bool Base_info::IsInitialized() const {
  if ((_has_bits_[0] & 0x0000000d) != 0x0000000d) return false;
  return true;
}

void Base_info::Swap(Base_info* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Base_info::InternalSwap(Base_info* other) {
  using std::swap;
  swap(msg_type_, other->msg_type_);
  swap(timeout_ms_, other->timeout_ms_);
  swap(sender_, other->sender_);
  swap(receiver_, other->receiver_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

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


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

void Base_msg::InitAsDefaultInstance() {
  ::message::_Base_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
      ::message::Base_info::internal_default_instance());
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Base_msg::kBaseInfoFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Base_msg::Base_msg()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_message_5fbase_2eproto::scc_info_Base_msg.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Base_msg)
}
Base_msg::Base_msg(const Base_msg& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_base_info()) {
    base_info_ = new ::message::Base_info(*from.base_info_);
  } else {
    base_info_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:message.Base_msg)
}

void Base_msg::SharedCtor() {
  base_info_ = NULL;
}

Base_msg::~Base_msg() {
  // @@protoc_insertion_point(destructor:message.Base_msg)
  SharedDtor();
}

void Base_msg::SharedDtor() {
  if (this != internal_default_instance()) delete base_info_;
}

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

const Base_msg& Base_msg::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Base_msg.base);
  return *internal_default_instance();
}


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

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(base_info_ != NULL);
    base_info_->Clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Base_msg::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:message.Base_msg)
  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)) {
      // required .message.Base_info base_info = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_base_info()));
        } 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:message.Base_msg)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Base_msg)
  return false;
#undef DO_
}

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

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->_internal_base_info(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Base_msg)
}

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

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, this->_internal_base_info(), deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Base_msg)
  return target;
}

size_t Base_msg::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Base_msg)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  // required .message.Base_info base_info = 1;
  if (has_base_info()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

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

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

  if (from.has_base_info()) {
    mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
  }
}

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

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

bool Base_msg::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  if (has_base_info()) {
    if (!this->base_info_->IsInitialized()) return false;
  }
  return true;
}

void Base_msg::Swap(Base_msg* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Base_msg::InternalSwap(Base_msg* other) {
  using std::swap;
  swap(base_info_, other->base_info_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

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


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

void Error_manager::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Error_manager::kErrorCodeFieldNumber;
const int Error_manager::kErrorLevelFieldNumber;
const int Error_manager::kErrorDescriptionFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Error_manager::Error_manager()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Error_manager)
}
Error_manager::Error_manager(const Error_manager& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  error_description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_error_description()) {
    error_description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.error_description_);
  }
  ::memcpy(&error_code_, &from.error_code_,
    static_cast<size_t>(reinterpret_cast<char*>(&error_level_) -
    reinterpret_cast<char*>(&error_code_)) + sizeof(error_level_));
  // @@protoc_insertion_point(copy_constructor:message.Error_manager)
}

void Error_manager::SharedCtor() {
  error_description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&error_code_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&error_level_) -
      reinterpret_cast<char*>(&error_code_)) + sizeof(error_level_));
}

Error_manager::~Error_manager() {
  // @@protoc_insertion_point(destructor:message.Error_manager)
  SharedDtor();
}

void Error_manager::SharedDtor() {
  error_description_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

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

const Error_manager& Error_manager::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Error_manager.base);
  return *internal_default_instance();
}


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

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    error_description_.ClearNonDefaultToEmptyNoArena();
  }
  if (cached_has_bits & 6u) {
    ::memset(&error_code_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&error_level_) -
        reinterpret_cast<char*>(&error_code_)) + sizeof(error_level_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Error_manager::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:message.Error_manager)
  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)) {
      // required int32 error_code = 1 [default = 0];
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_error_code();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &error_code_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .message.Error_level error_level = 2 [default = NORMAL];
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Error_level_IsValid(value)) {
            set_error_level(static_cast< ::message::Error_level >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                2, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string error_description = 3 [default = ""];
      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_error_description()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->error_description().data(), static_cast<int>(this->error_description().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Error_manager.error_description");
        } 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:message.Error_manager)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Error_manager)
  return false;
#undef DO_
}

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

  cached_has_bits = _has_bits_[0];
  // required int32 error_code = 1 [default = 0];
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->error_code(), output);
  }

  // optional .message.Error_level error_level = 2 [default = NORMAL];
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->error_level(), output);
  }

  // optional string error_description = 3 [default = ""];
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->error_description().data(), static_cast<int>(this->error_description().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Error_manager.error_description");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->error_description(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Error_manager)
}

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

  cached_has_bits = _has_bits_[0];
  // required int32 error_code = 1 [default = 0];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->error_code(), target);
  }

  // optional .message.Error_level error_level = 2 [default = NORMAL];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      2, this->error_level(), target);
  }

  // optional string error_description = 3 [default = ""];
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->error_description().data(), static_cast<int>(this->error_description().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Error_manager.error_description");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->error_description(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Error_manager)
  return target;
}

size_t Error_manager::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Error_manager)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  // required int32 error_code = 1 [default = 0];
  if (has_error_code()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->error_code());
  }
  // optional string error_description = 3 [default = ""];
  if (has_error_description()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->error_description());
  }

  // optional .message.Error_level error_level = 2 [default = NORMAL];
  if (has_error_level()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->error_level());
  }

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

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

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

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_error_description();
      error_description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.error_description_);
    }
    if (cached_has_bits & 0x00000002u) {
      error_code_ = from.error_code_;
    }
    if (cached_has_bits & 0x00000004u) {
      error_level_ = from.error_level_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

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

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

bool Error_manager::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000002) != 0x00000002) return false;
  return true;
}

void Error_manager::Swap(Error_manager* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Error_manager::InternalSwap(Error_manager* other) {
  using std::swap;
  error_description_.Swap(&other->error_description_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(error_code_, other->error_code_);
  swap(error_level_, other->error_level_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

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


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

void Locate_information::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Locate_information::kLocateXFieldNumber;
const int Locate_information::kLocateYFieldNumber;
const int Locate_information::kLocateAngleFieldNumber;
const int Locate_information::kLocateLengthFieldNumber;
const int Locate_information::kLocateWidthFieldNumber;
const int Locate_information::kLocateHeightFieldNumber;
const int Locate_information::kLocateWheelBaseFieldNumber;
const int Locate_information::kLocateWheelWidthFieldNumber;
const int Locate_information::kLocateCorrectFieldNumber;
const int Locate_information::kLocateFrontThetaFieldNumber;
const int Locate_information::kUniformedCarXFieldNumber;
const int Locate_information::kUniformedCarYFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Locate_information::Locate_information()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_message_5fbase_2eproto::scc_info_Locate_information.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Locate_information)
}
Locate_information::Locate_information(const Locate_information& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&locate_x_, &from.locate_x_,
    static_cast<size_t>(reinterpret_cast<char*>(&uniformed_car_y_) -
    reinterpret_cast<char*>(&locate_x_)) + sizeof(uniformed_car_y_));
  // @@protoc_insertion_point(copy_constructor:message.Locate_information)
}

void Locate_information::SharedCtor() {
  ::memset(&locate_x_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&uniformed_car_y_) -
      reinterpret_cast<char*>(&locate_x_)) + sizeof(uniformed_car_y_));
}

Locate_information::~Locate_information() {
  // @@protoc_insertion_point(destructor:message.Locate_information)
  SharedDtor();
}

void Locate_information::SharedDtor() {
}

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

const Locate_information& Locate_information::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Locate_information.base);
  return *internal_default_instance();
}


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

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 255u) {
    ::memset(&locate_x_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&locate_wheel_width_) -
        reinterpret_cast<char*>(&locate_x_)) + sizeof(locate_wheel_width_));
  }
  if (cached_has_bits & 3840u) {
    ::memset(&locate_correct_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&uniformed_car_y_) -
        reinterpret_cast<char*>(&locate_correct_)) + sizeof(uniformed_car_y_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Locate_information::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:message.Locate_information)
  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)) {
      // optional float locate_x = 1 [default = 0];
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(13u /* 13 & 0xFF */)) {
          set_has_locate_x();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &locate_x_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float locate_y = 2 [default = 0];
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(21u /* 21 & 0xFF */)) {
          set_has_locate_y();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &locate_y_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float locate_angle = 3 [default = 0];
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(29u /* 29 & 0xFF */)) {
          set_has_locate_angle();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &locate_angle_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float locate_length = 4 [default = 0];
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(37u /* 37 & 0xFF */)) {
          set_has_locate_length();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &locate_length_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float locate_width = 5 [default = 0];
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(45u /* 45 & 0xFF */)) {
          set_has_locate_width();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &locate_width_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float locate_height = 6 [default = 0];
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(53u /* 53 & 0xFF */)) {
          set_has_locate_height();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &locate_height_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float locate_wheel_base = 7 [default = 0];
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(61u /* 61 & 0xFF */)) {
          set_has_locate_wheel_base();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &locate_wheel_base_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float locate_wheel_width = 8 [default = 0];
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(69u /* 69 & 0xFF */)) {
          set_has_locate_wheel_width();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &locate_wheel_width_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool locate_correct = 9 [default = false];
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(72u /* 72 & 0xFF */)) {
          set_has_locate_correct();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &locate_correct_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float locate_front_theta = 10 [default = 0];
      case 10: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(85u /* 85 & 0xFF */)) {
          set_has_locate_front_theta();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &locate_front_theta_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float uniformed_car_x = 11;
      case 11: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(93u /* 93 & 0xFF */)) {
          set_has_uniformed_car_x();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &uniformed_car_x_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float uniformed_car_y = 12;
      case 12: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(101u /* 101 & 0xFF */)) {
          set_has_uniformed_car_y();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &uniformed_car_y_)));
        } 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:message.Locate_information)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Locate_information)
  return false;
#undef DO_
}

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

  cached_has_bits = _has_bits_[0];
  // optional float locate_x = 1 [default = 0];
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->locate_x(), output);
  }

  // optional float locate_y = 2 [default = 0];
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->locate_y(), output);
  }

  // optional float locate_angle = 3 [default = 0];
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->locate_angle(), output);
  }

  // optional float locate_length = 4 [default = 0];
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->locate_length(), output);
  }

  // optional float locate_width = 5 [default = 0];
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(5, this->locate_width(), output);
  }

  // optional float locate_height = 6 [default = 0];
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(6, this->locate_height(), output);
  }

  // optional float locate_wheel_base = 7 [default = 0];
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(7, this->locate_wheel_base(), output);
  }

  // optional float locate_wheel_width = 8 [default = 0];
  if (cached_has_bits & 0x00000080u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(8, this->locate_wheel_width(), output);
  }

  // optional bool locate_correct = 9 [default = false];
  if (cached_has_bits & 0x00000100u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(9, this->locate_correct(), output);
  }

  // optional float locate_front_theta = 10 [default = 0];
  if (cached_has_bits & 0x00000200u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(10, this->locate_front_theta(), output);
  }

  // optional float uniformed_car_x = 11;
  if (cached_has_bits & 0x00000400u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(11, this->uniformed_car_x(), output);
  }

  // optional float uniformed_car_y = 12;
  if (cached_has_bits & 0x00000800u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(12, this->uniformed_car_y(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Locate_information)
}

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

  cached_has_bits = _has_bits_[0];
  // optional float locate_x = 1 [default = 0];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->locate_x(), target);
  }

  // optional float locate_y = 2 [default = 0];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->locate_y(), target);
  }

  // optional float locate_angle = 3 [default = 0];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->locate_angle(), target);
  }

  // optional float locate_length = 4 [default = 0];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(4, this->locate_length(), target);
  }

  // optional float locate_width = 5 [default = 0];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(5, this->locate_width(), target);
  }

  // optional float locate_height = 6 [default = 0];
  if (cached_has_bits & 0x00000020u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(6, this->locate_height(), target);
  }

  // optional float locate_wheel_base = 7 [default = 0];
  if (cached_has_bits & 0x00000040u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(7, this->locate_wheel_base(), target);
  }

  // optional float locate_wheel_width = 8 [default = 0];
  if (cached_has_bits & 0x00000080u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(8, this->locate_wheel_width(), target);
  }

  // optional bool locate_correct = 9 [default = false];
  if (cached_has_bits & 0x00000100u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(9, this->locate_correct(), target);
  }

  // optional float locate_front_theta = 10 [default = 0];
  if (cached_has_bits & 0x00000200u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(10, this->locate_front_theta(), target);
  }

  // optional float uniformed_car_x = 11;
  if (cached_has_bits & 0x00000400u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(11, this->uniformed_car_x(), target);
  }

  // optional float uniformed_car_y = 12;
  if (cached_has_bits & 0x00000800u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(12, this->uniformed_car_y(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Locate_information)
  return target;
}

size_t Locate_information::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Locate_information)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (_has_bits_[0 / 32] & 255u) {
    // optional float locate_x = 1 [default = 0];
    if (has_locate_x()) {
      total_size += 1 + 4;
    }

    // optional float locate_y = 2 [default = 0];
    if (has_locate_y()) {
      total_size += 1 + 4;
    }

    // optional float locate_angle = 3 [default = 0];
    if (has_locate_angle()) {
      total_size += 1 + 4;
    }

    // optional float locate_length = 4 [default = 0];
    if (has_locate_length()) {
      total_size += 1 + 4;
    }

    // optional float locate_width = 5 [default = 0];
    if (has_locate_width()) {
      total_size += 1 + 4;
    }

    // optional float locate_height = 6 [default = 0];
    if (has_locate_height()) {
      total_size += 1 + 4;
    }

    // optional float locate_wheel_base = 7 [default = 0];
    if (has_locate_wheel_base()) {
      total_size += 1 + 4;
    }

    // optional float locate_wheel_width = 8 [default = 0];
    if (has_locate_wheel_width()) {
      total_size += 1 + 4;
    }

  }
  if (_has_bits_[8 / 32] & 3840u) {
    // optional bool locate_correct = 9 [default = false];
    if (has_locate_correct()) {
      total_size += 1 + 1;
    }

    // optional float locate_front_theta = 10 [default = 0];
    if (has_locate_front_theta()) {
      total_size += 1 + 4;
    }

    // optional float uniformed_car_x = 11;
    if (has_uniformed_car_x()) {
      total_size += 1 + 4;
    }

    // optional float uniformed_car_y = 12;
    if (has_uniformed_car_y()) {
      total_size += 1 + 4;
    }

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

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

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

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 255u) {
    if (cached_has_bits & 0x00000001u) {
      locate_x_ = from.locate_x_;
    }
    if (cached_has_bits & 0x00000002u) {
      locate_y_ = from.locate_y_;
    }
    if (cached_has_bits & 0x00000004u) {
      locate_angle_ = from.locate_angle_;
    }
    if (cached_has_bits & 0x00000008u) {
      locate_length_ = from.locate_length_;
    }
    if (cached_has_bits & 0x00000010u) {
      locate_width_ = from.locate_width_;
    }
    if (cached_has_bits & 0x00000020u) {
      locate_height_ = from.locate_height_;
    }
    if (cached_has_bits & 0x00000040u) {
      locate_wheel_base_ = from.locate_wheel_base_;
    }
    if (cached_has_bits & 0x00000080u) {
      locate_wheel_width_ = from.locate_wheel_width_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 3840u) {
    if (cached_has_bits & 0x00000100u) {
      locate_correct_ = from.locate_correct_;
    }
    if (cached_has_bits & 0x00000200u) {
      locate_front_theta_ = from.locate_front_theta_;
    }
    if (cached_has_bits & 0x00000400u) {
      uniformed_car_x_ = from.uniformed_car_x_;
    }
    if (cached_has_bits & 0x00000800u) {
      uniformed_car_y_ = from.uniformed_car_y_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

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

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

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

void Locate_information::Swap(Locate_information* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Locate_information::InternalSwap(Locate_information* other) {
  using std::swap;
  swap(locate_x_, other->locate_x_);
  swap(locate_y_, other->locate_y_);
  swap(locate_angle_, other->locate_angle_);
  swap(locate_length_, other->locate_length_);
  swap(locate_width_, other->locate_width_);
  swap(locate_height_, other->locate_height_);
  swap(locate_wheel_base_, other->locate_wheel_base_);
  swap(locate_wheel_width_, other->locate_wheel_width_);
  swap(locate_correct_, other->locate_correct_);
  swap(locate_front_theta_, other->locate_front_theta_);
  swap(uniformed_car_x_, other->uniformed_car_x_);
  swap(uniformed_car_y_, other->uniformed_car_y_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

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


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

void Car_info::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Car_info::kCarLengthFieldNumber;
const int Car_info::kCarWidthFieldNumber;
const int Car_info::kCarHeightFieldNumber;
const int Car_info::kLicenseFieldNumber;
const int Car_info::kCarNumberPlateFieldNumber;
const int Car_info::kCarWheelBaseFieldNumber;
const int Car_info::kCarWheelWidthFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Car_info::Car_info()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_message_5fbase_2eproto::scc_info_Car_info.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Car_info)
}
Car_info::Car_info(const Car_info& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  license_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_license()) {
    license_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.license_);
  }
  car_numberplate_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_car_numberplate()) {
    car_numberplate_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.car_numberplate_);
  }
  ::memcpy(&car_length_, &from.car_length_,
    static_cast<size_t>(reinterpret_cast<char*>(&car_wheel_width_) -
    reinterpret_cast<char*>(&car_length_)) + sizeof(car_wheel_width_));
  // @@protoc_insertion_point(copy_constructor:message.Car_info)
}

void Car_info::SharedCtor() {
  license_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  car_numberplate_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&car_length_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&car_wheel_width_) -
      reinterpret_cast<char*>(&car_length_)) + sizeof(car_wheel_width_));
}

Car_info::~Car_info() {
  // @@protoc_insertion_point(destructor:message.Car_info)
  SharedDtor();
}

void Car_info::SharedDtor() {
  license_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  car_numberplate_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

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

const Car_info& Car_info::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Car_info.base);
  return *internal_default_instance();
}


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

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      license_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000002u) {
      car_numberplate_.ClearNonDefaultToEmptyNoArena();
    }
  }
  if (cached_has_bits & 124u) {
    ::memset(&car_length_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&car_wheel_width_) -
        reinterpret_cast<char*>(&car_length_)) + sizeof(car_wheel_width_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Car_info::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:message.Car_info)
  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)) {
      // optional float car_length = 1 [default = 0];
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(13u /* 13 & 0xFF */)) {
          set_has_car_length();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &car_length_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float car_width = 2 [default = 0];
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(21u /* 21 & 0xFF */)) {
          set_has_car_width();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &car_width_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float car_height = 3 [default = 0];
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(29u /* 29 & 0xFF */)) {
          set_has_car_height();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &car_height_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string license = 4 [default = ""];
      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_license()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->license().data(), static_cast<int>(this->license().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Car_info.license");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string car_numberPlate = 5 [default = ""];
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_car_numberplate()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->car_numberplate().data(), static_cast<int>(this->car_numberplate().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Car_info.car_numberPlate");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float car_wheel_base = 6 [default = 0];
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(53u /* 53 & 0xFF */)) {
          set_has_car_wheel_base();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &car_wheel_base_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float car_wheel_width = 7 [default = 0];
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(61u /* 61 & 0xFF */)) {
          set_has_car_wheel_width();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &car_wheel_width_)));
        } 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:message.Car_info)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Car_info)
  return false;
#undef DO_
}

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

  cached_has_bits = _has_bits_[0];
  // optional float car_length = 1 [default = 0];
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->car_length(), output);
  }

  // optional float car_width = 2 [default = 0];
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->car_width(), output);
  }

  // optional float car_height = 3 [default = 0];
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->car_height(), output);
  }

  // optional string license = 4 [default = ""];
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->license().data(), static_cast<int>(this->license().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Car_info.license");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->license(), output);
  }

  // optional string car_numberPlate = 5 [default = ""];
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->car_numberplate().data(), static_cast<int>(this->car_numberplate().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Car_info.car_numberPlate");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      5, this->car_numberplate(), output);
  }

  // optional float car_wheel_base = 6 [default = 0];
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(6, this->car_wheel_base(), output);
  }

  // optional float car_wheel_width = 7 [default = 0];
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(7, this->car_wheel_width(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Car_info)
}

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

  cached_has_bits = _has_bits_[0];
  // optional float car_length = 1 [default = 0];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->car_length(), target);
  }

  // optional float car_width = 2 [default = 0];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->car_width(), target);
  }

  // optional float car_height = 3 [default = 0];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->car_height(), target);
  }

  // optional string license = 4 [default = ""];
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->license().data(), static_cast<int>(this->license().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Car_info.license");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        4, this->license(), target);
  }

  // optional string car_numberPlate = 5 [default = ""];
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->car_numberplate().data(), static_cast<int>(this->car_numberplate().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Car_info.car_numberPlate");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        5, this->car_numberplate(), target);
  }

  // optional float car_wheel_base = 6 [default = 0];
  if (cached_has_bits & 0x00000020u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(6, this->car_wheel_base(), target);
  }

  // optional float car_wheel_width = 7 [default = 0];
  if (cached_has_bits & 0x00000040u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(7, this->car_wheel_width(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Car_info)
  return target;
}

size_t Car_info::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Car_info)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (_has_bits_[0 / 32] & 127u) {
    // optional string license = 4 [default = ""];
    if (has_license()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->license());
    }

    // optional string car_numberPlate = 5 [default = ""];
    if (has_car_numberplate()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->car_numberplate());
    }

    // optional float car_length = 1 [default = 0];
    if (has_car_length()) {
      total_size += 1 + 4;
    }

    // optional float car_width = 2 [default = 0];
    if (has_car_width()) {
      total_size += 1 + 4;
    }

    // optional float car_height = 3 [default = 0];
    if (has_car_height()) {
      total_size += 1 + 4;
    }

    // optional float car_wheel_base = 6 [default = 0];
    if (has_car_wheel_base()) {
      total_size += 1 + 4;
    }

    // optional float car_wheel_width = 7 [default = 0];
    if (has_car_wheel_width()) {
      total_size += 1 + 4;
    }

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

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

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

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 127u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_license();
      license_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.license_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_car_numberplate();
      car_numberplate_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.car_numberplate_);
    }
    if (cached_has_bits & 0x00000004u) {
      car_length_ = from.car_length_;
    }
    if (cached_has_bits & 0x00000008u) {
      car_width_ = from.car_width_;
    }
    if (cached_has_bits & 0x00000010u) {
      car_height_ = from.car_height_;
    }
    if (cached_has_bits & 0x00000020u) {
      car_wheel_base_ = from.car_wheel_base_;
    }
    if (cached_has_bits & 0x00000040u) {
      car_wheel_width_ = from.car_wheel_width_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

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

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

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

void Car_info::Swap(Car_info* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Car_info::InternalSwap(Car_info* other) {
  using std::swap;
  license_.Swap(&other->license_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  car_numberplate_.Swap(&other->car_numberplate_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(car_length_, other->car_length_);
  swap(car_width_, other->car_width_);
  swap(car_height_, other->car_height_);
  swap(car_wheel_base_, other->car_wheel_base_);
  swap(car_wheel_width_, other->car_wheel_width_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

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


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

void Parkspace_info::InitAsDefaultInstance() {
  ::message::_Parkspace_info_default_instance_._instance.get_mutable()->car_info_ = const_cast< ::message::Car_info*>(
      ::message::Car_info::internal_default_instance());
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Parkspace_info::kParkingspaceIndexIdFieldNumber;
const int Parkspace_info::kParkingspaceTypeFieldNumber;
const int Parkspace_info::kParkingspaceUnitIdFieldNumber;
const int Parkspace_info::kParkingspaceLabelIdFieldNumber;
const int Parkspace_info::kParkingspaceRoomIdFieldNumber;
const int Parkspace_info::kParkingspaceDirectionFieldNumber;
const int Parkspace_info::kParkingspaceFloorIdFieldNumber;
const int Parkspace_info::kParkingspaceWidthFieldNumber;
const int Parkspace_info::kParkingspaceHeightFieldNumber;
const int Parkspace_info::kParkingspaceStatusFieldNumber;
const int Parkspace_info::kCarInfoFieldNumber;
const int Parkspace_info::kEntryTimeFieldNumber;
const int Parkspace_info::kLeaveTimeFieldNumber;
const int Parkspace_info::kParkspacePathFieldNumber;
const int Parkspace_info::kPathEstimateTimeFieldNumber;
const int Parkspace_info::kParkspaceStatusTargetFieldNumber;
const int Parkspace_info::kCarTypeFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Parkspace_info::Parkspace_info()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_message_5fbase_2eproto::scc_info_Parkspace_info.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Parkspace_info)
}
Parkspace_info::Parkspace_info(const Parkspace_info& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  entry_time_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_entry_time()) {
    entry_time_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.entry_time_);
  }
  leave_time_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_leave_time()) {
    leave_time_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.leave_time_);
  }
  if (from.has_car_info()) {
    car_info_ = new ::message::Car_info(*from.car_info_);
  } else {
    car_info_ = NULL;
  }
  ::memcpy(&parkingspace_index_id_, &from.parkingspace_index_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&car_type_) -
    reinterpret_cast<char*>(&parkingspace_index_id_)) + sizeof(car_type_));
  // @@protoc_insertion_point(copy_constructor:message.Parkspace_info)
}

void Parkspace_info::SharedCtor() {
  entry_time_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  leave_time_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&car_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&car_type_) -
      reinterpret_cast<char*>(&car_info_)) + sizeof(car_type_));
}

Parkspace_info::~Parkspace_info() {
  // @@protoc_insertion_point(destructor:message.Parkspace_info)
  SharedDtor();
}

void Parkspace_info::SharedDtor() {
  entry_time_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  leave_time_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete car_info_;
}

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

const Parkspace_info& Parkspace_info::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Parkspace_info.base);
  return *internal_default_instance();
}


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

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      entry_time_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000002u) {
      leave_time_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(car_info_ != NULL);
      car_info_->Clear();
    }
  }
  if (cached_has_bits & 248u) {
    ::memset(&parkingspace_index_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&parkingspace_room_id_) -
        reinterpret_cast<char*>(&parkingspace_index_id_)) + sizeof(parkingspace_room_id_));
  }
  if (cached_has_bits & 65280u) {
    ::memset(&parkingspace_direction_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&parkspace_status_target_) -
        reinterpret_cast<char*>(&parkingspace_direction_)) + sizeof(parkspace_status_target_));
  }
  car_type_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Parkspace_info::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:message.Parkspace_info)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(16383u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 parkingspace_index_id = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_parkingspace_index_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &parkingspace_index_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .message.Parkspace_type parkingspace_type = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Parkspace_type_IsValid(value)) {
            set_parkingspace_type(static_cast< ::message::Parkspace_type >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                2, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 parkingspace_unit_id = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_parkingspace_unit_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &parkingspace_unit_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 parkingspace_label_id = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_parkingspace_label_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &parkingspace_label_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 parkingspace_room_id = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_parkingspace_room_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &parkingspace_room_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .message.Direction parkingspace_direction = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Direction_IsValid(value)) {
            set_parkingspace_direction(static_cast< ::message::Direction >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                6, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 parkingspace_floor_id = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) {
          set_has_parkingspace_floor_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &parkingspace_floor_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float parkingspace_width = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(69u /* 69 & 0xFF */)) {
          set_has_parkingspace_width();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &parkingspace_width_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float parkingspace_height = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(77u /* 77 & 0xFF */)) {
          set_has_parkingspace_height();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &parkingspace_height_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .message.Parkspace_status parkingspace_status = 10;
      case 10: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(80u /* 80 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Parkspace_status_IsValid(value)) {
            set_parkingspace_status(static_cast< ::message::Parkspace_status >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                10, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .message.Car_info car_info = 11;
      case 11: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(90u /* 90 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_car_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string entry_time = 12;
      case 12: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(98u /* 98 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_entry_time()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->entry_time().data(), static_cast<int>(this->entry_time().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Parkspace_info.entry_time");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string leave_time = 13;
      case 13: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(106u /* 106 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_leave_time()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->leave_time().data(), static_cast<int>(this->leave_time().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Parkspace_info.leave_time");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .message.Parkspace_path parkspace_path = 14;
      case 14: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(112u /* 112 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Parkspace_path_IsValid(value)) {
            set_parkspace_path(static_cast< ::message::Parkspace_path >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                14, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float path_estimate_time = 15;
      case 15: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(125u /* 125 & 0xFF */)) {
          set_has_path_estimate_time();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &path_estimate_time_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .message.Parkspace_status parkspace_status_target = 16;
      case 16: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(128u /* 128 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Parkspace_status_IsValid(value)) {
            set_parkspace_status_target(static_cast< ::message::Parkspace_status >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                16, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .message.Car_type car_type = 17;
      case 17: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(136u /* 136 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Car_type_IsValid(value)) {
            set_car_type(static_cast< ::message::Car_type >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                17, static_cast< ::google::protobuf::uint64>(value));
          }
        } 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:message.Parkspace_info)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Parkspace_info)
  return false;
#undef DO_
}

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

  cached_has_bits = _has_bits_[0];
  // optional int32 parkingspace_index_id = 1;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->parkingspace_index_id(), output);
  }

  // optional .message.Parkspace_type parkingspace_type = 2;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->parkingspace_type(), output);
  }

  // optional int32 parkingspace_unit_id = 3;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->parkingspace_unit_id(), output);
  }

  // optional int32 parkingspace_label_id = 4;
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->parkingspace_label_id(), output);
  }

  // optional int32 parkingspace_room_id = 5;
  if (cached_has_bits & 0x00000080u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->parkingspace_room_id(), output);
  }

  // optional .message.Direction parkingspace_direction = 6;
  if (cached_has_bits & 0x00000100u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      6, this->parkingspace_direction(), output);
  }

  // optional int32 parkingspace_floor_id = 7;
  if (cached_has_bits & 0x00000200u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(7, this->parkingspace_floor_id(), output);
  }

  // optional float parkingspace_width = 8;
  if (cached_has_bits & 0x00000400u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(8, this->parkingspace_width(), output);
  }

  // optional float parkingspace_height = 9;
  if (cached_has_bits & 0x00000800u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(9, this->parkingspace_height(), output);
  }

  // optional .message.Parkspace_status parkingspace_status = 10;
  if (cached_has_bits & 0x00001000u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      10, this->parkingspace_status(), output);
  }

  // optional .message.Car_info car_info = 11;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      11, this->_internal_car_info(), output);
  }

  // optional string entry_time = 12;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->entry_time().data(), static_cast<int>(this->entry_time().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Parkspace_info.entry_time");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      12, this->entry_time(), output);
  }

  // optional string leave_time = 13;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->leave_time().data(), static_cast<int>(this->leave_time().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Parkspace_info.leave_time");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      13, this->leave_time(), output);
  }

  // optional .message.Parkspace_path parkspace_path = 14;
  if (cached_has_bits & 0x00002000u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      14, this->parkspace_path(), output);
  }

  // optional float path_estimate_time = 15;
  if (cached_has_bits & 0x00004000u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(15, this->path_estimate_time(), output);
  }

  // optional .message.Parkspace_status parkspace_status_target = 16;
  if (cached_has_bits & 0x00008000u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      16, this->parkspace_status_target(), output);
  }

  // optional .message.Car_type car_type = 17;
  if (cached_has_bits & 0x00010000u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      17, this->car_type(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Parkspace_info)
}

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

  cached_has_bits = _has_bits_[0];
  // optional int32 parkingspace_index_id = 1;
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->parkingspace_index_id(), target);
  }

  // optional .message.Parkspace_type parkingspace_type = 2;
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      2, this->parkingspace_type(), target);
  }

  // optional int32 parkingspace_unit_id = 3;
  if (cached_has_bits & 0x00000020u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->parkingspace_unit_id(), target);
  }

  // optional int32 parkingspace_label_id = 4;
  if (cached_has_bits & 0x00000040u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->parkingspace_label_id(), target);
  }

  // optional int32 parkingspace_room_id = 5;
  if (cached_has_bits & 0x00000080u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->parkingspace_room_id(), target);
  }

  // optional .message.Direction parkingspace_direction = 6;
  if (cached_has_bits & 0x00000100u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      6, this->parkingspace_direction(), target);
  }

  // optional int32 parkingspace_floor_id = 7;
  if (cached_has_bits & 0x00000200u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(7, this->parkingspace_floor_id(), target);
  }

  // optional float parkingspace_width = 8;
  if (cached_has_bits & 0x00000400u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(8, this->parkingspace_width(), target);
  }

  // optional float parkingspace_height = 9;
  if (cached_has_bits & 0x00000800u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(9, this->parkingspace_height(), target);
  }

  // optional .message.Parkspace_status parkingspace_status = 10;
  if (cached_has_bits & 0x00001000u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      10, this->parkingspace_status(), target);
  }

  // optional .message.Car_info car_info = 11;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        11, this->_internal_car_info(), deterministic, target);
  }

  // optional string entry_time = 12;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->entry_time().data(), static_cast<int>(this->entry_time().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Parkspace_info.entry_time");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        12, this->entry_time(), target);
  }

  // optional string leave_time = 13;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->leave_time().data(), static_cast<int>(this->leave_time().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Parkspace_info.leave_time");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        13, this->leave_time(), target);
  }

  // optional .message.Parkspace_path parkspace_path = 14;
  if (cached_has_bits & 0x00002000u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      14, this->parkspace_path(), target);
  }

  // optional float path_estimate_time = 15;
  if (cached_has_bits & 0x00004000u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(15, this->path_estimate_time(), target);
  }

  // optional .message.Parkspace_status parkspace_status_target = 16;
  if (cached_has_bits & 0x00008000u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      16, this->parkspace_status_target(), target);
  }

  // optional .message.Car_type car_type = 17;
  if (cached_has_bits & 0x00010000u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      17, this->car_type(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Parkspace_info)
  return target;
}

size_t Parkspace_info::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Parkspace_info)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (_has_bits_[0 / 32] & 255u) {
    // optional string entry_time = 12;
    if (has_entry_time()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->entry_time());
    }

    // optional string leave_time = 13;
    if (has_leave_time()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->leave_time());
    }

    // optional .message.Car_info car_info = 11;
    if (has_car_info()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *car_info_);
    }

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

    // optional .message.Parkspace_type parkingspace_type = 2;
    if (has_parkingspace_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->parkingspace_type());
    }

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

    // optional int32 parkingspace_label_id = 4;
    if (has_parkingspace_label_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->parkingspace_label_id());
    }

    // optional int32 parkingspace_room_id = 5;
    if (has_parkingspace_room_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->parkingspace_room_id());
    }

  }
  if (_has_bits_[8 / 32] & 65280u) {
    // optional .message.Direction parkingspace_direction = 6;
    if (has_parkingspace_direction()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->parkingspace_direction());
    }

    // optional int32 parkingspace_floor_id = 7;
    if (has_parkingspace_floor_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->parkingspace_floor_id());
    }

    // optional float parkingspace_width = 8;
    if (has_parkingspace_width()) {
      total_size += 1 + 4;
    }

    // optional float parkingspace_height = 9;
    if (has_parkingspace_height()) {
      total_size += 1 + 4;
    }

    // optional .message.Parkspace_status parkingspace_status = 10;
    if (has_parkingspace_status()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->parkingspace_status());
    }

    // optional .message.Parkspace_path parkspace_path = 14;
    if (has_parkspace_path()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->parkspace_path());
    }

    // optional float path_estimate_time = 15;
    if (has_path_estimate_time()) {
      total_size += 1 + 4;
    }

    // optional .message.Parkspace_status parkspace_status_target = 16;
    if (has_parkspace_status_target()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->parkspace_status_target());
    }

  }
  // optional .message.Car_type car_type = 17;
  if (has_car_type()) {
    total_size += 2 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->car_type());
  }

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

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

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

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 255u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_entry_time();
      entry_time_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.entry_time_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_leave_time();
      leave_time_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.leave_time_);
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_car_info()->::message::Car_info::MergeFrom(from.car_info());
    }
    if (cached_has_bits & 0x00000008u) {
      parkingspace_index_id_ = from.parkingspace_index_id_;
    }
    if (cached_has_bits & 0x00000010u) {
      parkingspace_type_ = from.parkingspace_type_;
    }
    if (cached_has_bits & 0x00000020u) {
      parkingspace_unit_id_ = from.parkingspace_unit_id_;
    }
    if (cached_has_bits & 0x00000040u) {
      parkingspace_label_id_ = from.parkingspace_label_id_;
    }
    if (cached_has_bits & 0x00000080u) {
      parkingspace_room_id_ = from.parkingspace_room_id_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 65280u) {
    if (cached_has_bits & 0x00000100u) {
      parkingspace_direction_ = from.parkingspace_direction_;
    }
    if (cached_has_bits & 0x00000200u) {
      parkingspace_floor_id_ = from.parkingspace_floor_id_;
    }
    if (cached_has_bits & 0x00000400u) {
      parkingspace_width_ = from.parkingspace_width_;
    }
    if (cached_has_bits & 0x00000800u) {
      parkingspace_height_ = from.parkingspace_height_;
    }
    if (cached_has_bits & 0x00001000u) {
      parkingspace_status_ = from.parkingspace_status_;
    }
    if (cached_has_bits & 0x00002000u) {
      parkspace_path_ = from.parkspace_path_;
    }
    if (cached_has_bits & 0x00004000u) {
      path_estimate_time_ = from.path_estimate_time_;
    }
    if (cached_has_bits & 0x00008000u) {
      parkspace_status_target_ = from.parkspace_status_target_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00010000u) {
    set_car_type(from.car_type());
  }
}

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

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

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

void Parkspace_info::Swap(Parkspace_info* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Parkspace_info::InternalSwap(Parkspace_info* other) {
  using std::swap;
  entry_time_.Swap(&other->entry_time_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  leave_time_.Swap(&other->leave_time_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(car_info_, other->car_info_);
  swap(parkingspace_index_id_, other->parkingspace_index_id_);
  swap(parkingspace_type_, other->parkingspace_type_);
  swap(parkingspace_unit_id_, other->parkingspace_unit_id_);
  swap(parkingspace_label_id_, other->parkingspace_label_id_);
  swap(parkingspace_room_id_, other->parkingspace_room_id_);
  swap(parkingspace_direction_, other->parkingspace_direction_);
  swap(parkingspace_floor_id_, other->parkingspace_floor_id_);
  swap(parkingspace_width_, other->parkingspace_width_);
  swap(parkingspace_height_, other->parkingspace_height_);
  swap(parkingspace_status_, other->parkingspace_status_);
  swap(parkspace_path_, other->parkspace_path_);
  swap(path_estimate_time_, other->path_estimate_time_);
  swap(parkspace_status_target_, other->parkspace_status_target_);
  swap(car_type_, other->car_type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

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


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

void Id_struct::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Id_struct::kTerminalIdFieldNumber;
const int Id_struct::kUnitIdFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Id_struct::Id_struct()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_message_5fbase_2eproto::scc_info_Id_struct.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Id_struct)
}
Id_struct::Id_struct(const Id_struct& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&terminal_id_, &from.terminal_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&unit_id_) -
    reinterpret_cast<char*>(&terminal_id_)) + sizeof(unit_id_));
  // @@protoc_insertion_point(copy_constructor:message.Id_struct)
}

void Id_struct::SharedCtor() {
  ::memset(&terminal_id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&unit_id_) -
      reinterpret_cast<char*>(&terminal_id_)) + sizeof(unit_id_));
}

Id_struct::~Id_struct() {
  // @@protoc_insertion_point(destructor:message.Id_struct)
  SharedDtor();
}

void Id_struct::SharedDtor() {
}

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

const Id_struct& Id_struct::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_message_5fbase_2eproto::scc_info_Id_struct.base);
  return *internal_default_instance();
}


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

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    ::memset(&terminal_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&unit_id_) -
        reinterpret_cast<char*>(&terminal_id_)) + sizeof(unit_id_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Id_struct::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:message.Id_struct)
  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)) {
      // optional int32 terminal_id = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_terminal_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &terminal_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 unit_id = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_unit_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &unit_id_)));
        } 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:message.Id_struct)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Id_struct)
  return false;
#undef DO_
}

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

  cached_has_bits = _has_bits_[0];
  // optional int32 terminal_id = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->terminal_id(), output);
  }

  // optional int32 unit_id = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->unit_id(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Id_struct)
}

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

  cached_has_bits = _has_bits_[0];
  // optional int32 terminal_id = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->terminal_id(), target);
  }

  // optional int32 unit_id = 2;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->unit_id(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Id_struct)
  return target;
}

size_t Id_struct::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Id_struct)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (_has_bits_[0 / 32] & 3u) {
    // optional int32 terminal_id = 1;
    if (has_terminal_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->terminal_id());
    }

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

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

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

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

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      terminal_id_ = from.terminal_id_;
    }
    if (cached_has_bits & 0x00000002u) {
      unit_id_ = from.unit_id_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

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

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

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

void Id_struct::Swap(Id_struct* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Id_struct::InternalSwap(Id_struct* other) {
  using std::swap;
  swap(terminal_id_, other->terminal_id_);
  swap(unit_id_, other->unit_id_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

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


// @@protoc_insertion_point(namespace_scope)
}  // namespace message
namespace google {
namespace protobuf {
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Base_info* Arena::CreateMaybeMessage< ::message::Base_info >(Arena* arena) {
  return Arena::CreateInternal< ::message::Base_info >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Base_msg* Arena::CreateMaybeMessage< ::message::Base_msg >(Arena* arena) {
  return Arena::CreateInternal< ::message::Base_msg >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Error_manager* Arena::CreateMaybeMessage< ::message::Error_manager >(Arena* arena) {
  return Arena::CreateInternal< ::message::Error_manager >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Locate_information* Arena::CreateMaybeMessage< ::message::Locate_information >(Arena* arena) {
  return Arena::CreateInternal< ::message::Locate_information >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Car_info* Arena::CreateMaybeMessage< ::message::Car_info >(Arena* arena) {
  return Arena::CreateInternal< ::message::Car_info >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Parkspace_info* Arena::CreateMaybeMessage< ::message::Parkspace_info >(Arena* arena) {
  return Arena::CreateInternal< ::message::Parkspace_info >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Id_struct* Arena::CreateMaybeMessage< ::message::Id_struct >(Arena* arena) {
  return Arena::CreateInternal< ::message::Id_struct >(arena);
}
}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)
