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

#include "sync.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
extern PROTOBUF_INTERNAL_EXPORT_sync_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ConfigItem_sync_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sync_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_GPS_RAW_sync_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sync_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IMU_sync_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sync_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IMU_RAW_sync_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sync_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_LOG_sync_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sync_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TRIGGER_sync_2eproto;
namespace sync_proto {
class ConfigItemDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ConfigItem> _instance;
  bool bool_value_;
  ::PROTOBUF_NAMESPACE_ID::int32 int_value_;
  float float_value_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr str_value_;
} _ConfigItem_default_instance_;
class ConfigDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Config> _instance;
} _Config_default_instance_;
class IMU_RAWDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IMU_RAW> _instance;
} _IMU_RAW_default_instance_;
class IMUDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IMU> _instance;
} _IMU_default_instance_;
class TRIGGERDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TRIGGER> _instance;
} _TRIGGER_default_instance_;
class LOGDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LOG> _instance;
} _LOG_default_instance_;
class GPS_RAWDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<GPS_RAW> _instance;
} _GPS_RAW_default_instance_;
class EnvelopeDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Envelope> _instance;
  const ::sync_proto::IMU_RAW* imu_raw_;
  const ::sync_proto::IMU* imu_;
  const ::sync_proto::TRIGGER* trigger_;
  const ::sync_proto::LOG* log_;
  const ::sync_proto::GPS_RAW* gps_raw_;
} _Envelope_default_instance_;
}  // namespace sync_proto
static void InitDefaultsscc_info_Config_sync_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::sync_proto::_Config_default_instance_;
    new (ptr) ::sync_proto::Config();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::sync_proto::Config::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_Config_sync_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_Config_sync_2eproto}, {
      &scc_info_ConfigItem_sync_2eproto.base,}};

static void InitDefaultsscc_info_ConfigItem_sync_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::sync_proto::_ConfigItem_default_instance_;
    new (ptr) ::sync_proto::ConfigItem();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::sync_proto::ConfigItem::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ConfigItem_sync_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ConfigItem_sync_2eproto}, {}};

static void InitDefaultsscc_info_Envelope_sync_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::sync_proto::_Envelope_default_instance_;
    new (ptr) ::sync_proto::Envelope();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::sync_proto::Envelope::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<5> scc_info_Envelope_sync_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 5, 0, InitDefaultsscc_info_Envelope_sync_2eproto}, {
      &scc_info_IMU_RAW_sync_2eproto.base,
      &scc_info_IMU_sync_2eproto.base,
      &scc_info_TRIGGER_sync_2eproto.base,
      &scc_info_LOG_sync_2eproto.base,
      &scc_info_GPS_RAW_sync_2eproto.base,}};

static void InitDefaultsscc_info_GPS_RAW_sync_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::sync_proto::_GPS_RAW_default_instance_;
    new (ptr) ::sync_proto::GPS_RAW();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::sync_proto::GPS_RAW::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_GPS_RAW_sync_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_GPS_RAW_sync_2eproto}, {}};

static void InitDefaultsscc_info_IMU_sync_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::sync_proto::_IMU_default_instance_;
    new (ptr) ::sync_proto::IMU();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::sync_proto::IMU::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IMU_sync_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_IMU_sync_2eproto}, {}};

static void InitDefaultsscc_info_IMU_RAW_sync_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::sync_proto::_IMU_RAW_default_instance_;
    new (ptr) ::sync_proto::IMU_RAW();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::sync_proto::IMU_RAW::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IMU_RAW_sync_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_IMU_RAW_sync_2eproto}, {}};

static void InitDefaultsscc_info_LOG_sync_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::sync_proto::_LOG_default_instance_;
    new (ptr) ::sync_proto::LOG();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::sync_proto::LOG::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_LOG_sync_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_LOG_sync_2eproto}, {}};

static void InitDefaultsscc_info_TRIGGER_sync_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::sync_proto::_TRIGGER_default_instance_;
    new (ptr) ::sync_proto::TRIGGER();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::sync_proto::TRIGGER::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TRIGGER_sync_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_TRIGGER_sync_2eproto}, {}};

static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_sync_2eproto[8];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_sync_2eproto[4];
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_sync_2eproto = nullptr;

const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_sync_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::sync_proto::ConfigItem, _internal_metadata_),
  ~0u,  // no _extensions_
  PROTOBUF_FIELD_OFFSET(::sync_proto::ConfigItem, _oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::sync_proto::ConfigItem, prop_id_),
  offsetof(::sync_proto::ConfigItemDefaultTypeInternal, bool_value_),
  offsetof(::sync_proto::ConfigItemDefaultTypeInternal, int_value_),
  offsetof(::sync_proto::ConfigItemDefaultTypeInternal, float_value_),
  offsetof(::sync_proto::ConfigItemDefaultTypeInternal, str_value_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::ConfigItem, value_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::sync_proto::Config, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::sync_proto::Config, item_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU_RAW, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU_RAW, time_us_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU_RAW, ax_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU_RAW, ay_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU_RAW, az_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU_RAW, gx_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU_RAW, gy_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU_RAW, gz_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, time_us_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, ax_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, ay_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, az_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, gx_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, gy_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, gz_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, roll_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, pitch_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::IMU, yaw_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::sync_proto::TRIGGER, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::sync_proto::TRIGGER, trigger_time_us_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::TRIGGER, recv_trigger_time_us_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::sync_proto::LOG, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::sync_proto::LOG, time_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::LOG, level_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::LOG, module_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::LOG, message_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, time_us_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, latitude_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, longitude_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, altitude_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, eph_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, epv_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, vel_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, cog_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, fix_type_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::GPS_RAW, satellites_visible_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::sync_proto::Envelope, _internal_metadata_),
  ~0u,  // no _extensions_
  PROTOBUF_FIELD_OFFSET(::sync_proto::Envelope, _oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::sync_proto::Envelope, id_),
  offsetof(::sync_proto::EnvelopeDefaultTypeInternal, imu_raw_),
  offsetof(::sync_proto::EnvelopeDefaultTypeInternal, imu_),
  offsetof(::sync_proto::EnvelopeDefaultTypeInternal, trigger_),
  offsetof(::sync_proto::EnvelopeDefaultTypeInternal, log_),
  offsetof(::sync_proto::EnvelopeDefaultTypeInternal, gps_raw_),
  PROTOBUF_FIELD_OFFSET(::sync_proto::Envelope, payload_),
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, sizeof(::sync_proto::ConfigItem)},
  { 11, -1, sizeof(::sync_proto::Config)},
  { 17, -1, sizeof(::sync_proto::IMU_RAW)},
  { 29, -1, sizeof(::sync_proto::IMU)},
  { 44, -1, sizeof(::sync_proto::TRIGGER)},
  { 51, -1, sizeof(::sync_proto::LOG)},
  { 60, -1, sizeof(::sync_proto::GPS_RAW)},
  { 75, -1, sizeof(::sync_proto::Envelope)},
};

static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::sync_proto::_ConfigItem_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::sync_proto::_Config_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::sync_proto::_IMU_RAW_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::sync_proto::_IMU_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::sync_proto::_TRIGGER_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::sync_proto::_LOG_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::sync_proto::_GPS_RAW_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::sync_proto::_Envelope_default_instance_),
};

const char descriptor_table_protodef_sync_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\nsync.proto\022\nsync_proto\"\224\001\n\nConfigItem\022"
  "&\n\007prop_id\030\001 \001(\0162\025.sync_proto.CfgPropID\022"
  "\024\n\nbool_value\030\002 \001(\010H\000\022\023\n\tint_value\030\003 \001(\005"
  "H\000\022\025\n\013float_value\030\004 \001(\002H\000\022\023\n\tstr_value\030\005"
  " \001(\tH\000B\007\n\005value\".\n\006Config\022$\n\004item\030\001 \003(\0132"
  "\026.sync_proto.ConfigItem\"b\n\007IMU_RAW\022\017\n\007ti"
  "me_us\030\001 \001(\003\022\n\n\002ax\030\002 \001(\001\022\n\n\002ay\030\003 \001(\001\022\n\n\002a"
  "z\030\004 \001(\001\022\n\n\002gx\030\005 \001(\001\022\n\n\002gy\030\006 \001(\001\022\n\n\002gz\030\007 "
  "\001(\001\"\210\001\n\003IMU\022\017\n\007time_us\030\001 \001(\003\022\n\n\002ax\030\002 \001(\001"
  "\022\n\n\002ay\030\003 \001(\001\022\n\n\002az\030\004 \001(\001\022\n\n\002gx\030\005 \001(\001\022\n\n\002"
  "gy\030\006 \001(\001\022\n\n\002gz\030\007 \001(\001\022\014\n\004roll\030\010 \001(\001\022\r\n\005pi"
  "tch\030\t \001(\001\022\013\n\003yaw\030\n \001(\001\"@\n\007TRIGGER\022\027\n\017tri"
  "gger_time_us\030\001 \001(\003\022\034\n\024recv_trigger_time_"
  "us\030\002 \001(\003\"C\n\003LOG\022\014\n\004time\030\001 \001(\003\022\r\n\005level\030\002"
  " \001(\t\022\016\n\006module\030\003 \001(\t\022\017\n\007message\030\004 \001(\t\"\263\001"
  "\n\007GPS_RAW\022\017\n\007time_us\030\001 \001(\003\022\020\n\010latitude\030\002"
  " \001(\001\022\021\n\tlongitude\030\003 \001(\001\022\020\n\010altitude\030\004 \001("
  "\002\022\013\n\003eph\030\005 \001(\002\022\013\n\003epv\030\006 \001(\002\022\013\n\003vel\030\007 \001(\002"
  "\022\013\n\003cog\030\010 \001(\002\022\020\n\010fix_type\030\t \001(\r\022\032\n\022satel"
  "lites_visible\030\n \001(\r\"\360\001\n\010Envelope\022!\n\002id\030\001"
  " \001(\0162\025.sync_proto.MessageID\022&\n\007imu_raw\030\002"
  " \001(\0132\023.sync_proto.IMU_RAWH\000\022\036\n\003imu\030\003 \001(\013"
  "2\017.sync_proto.IMUH\000\022&\n\007trigger\030\004 \001(\0132\023.s"
  "ync_proto.TRIGGERH\000\022\036\n\003log\030\005 \001(\0132\017.sync_"
  "proto.LOGH\000\022&\n\007gps_raw\030\006 \001(\0132\023.sync_prot"
  "o.GPS_RAWH\000B\t\n\007payload*\216\001\n\tMessageID\022\017\n\013"
  "MSG_UNKNOWN\020\000\022\017\n\013MSG_IMU_RAW\020\001\022\013\n\007MSG_IM"
  "U\020\002\022\023\n\017MSG_SYSTEM_TIME\020\003\022\017\n\013MSG_TRIGGER\020"
  "\004\022\013\n\007MSG_LOG\020\005\022\017\n\013MSG_GPS_RAW\020\006\022\016\n\nMSG_C"
  "ONFIG\020\007*\212\001\n\tCfgPropID\022\024\n\020CFG_BOOL_UNKNOW"
  "N\020\000\022\027\n\023CFG_BOOL_DEBUG_MODE\020\001\022\030\n\024CFG_INT_"
  "TRIGGER_FREQ\020\002\022\031\n\025CFG_BOOL_TRIGGER_EDGE\020"
  "\003\022\031\n\025CFG_BOOL_TRIGGER_ONCE\020\004*4\n\010LogLevel"
  "\022\010\n\004INFO\020\000\022\010\n\004WARN\020\001\022\t\n\005ERROR\020\002\022\t\n\005DEBUG"
  "\020\003*Q\n\014GPSSatStatus\022\017\n\013GPS_UNKNOWN\020\000\022\020\n\014G"
  "PS_FIX_NONE\020\001\022\016\n\nGPS_FIX_2D\020\002\022\016\n\nGPS_FIX"
  "_3D\020\003b\006proto3"
  ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_sync_2eproto_deps[1] = {
};
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_sync_2eproto_sccs[8] = {
  &scc_info_Config_sync_2eproto.base,
  &scc_info_ConfigItem_sync_2eproto.base,
  &scc_info_Envelope_sync_2eproto.base,
  &scc_info_GPS_RAW_sync_2eproto.base,
  &scc_info_IMU_sync_2eproto.base,
  &scc_info_IMU_RAW_sync_2eproto.base,
  &scc_info_LOG_sync_2eproto.base,
  &scc_info_TRIGGER_sync_2eproto.base,
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_sync_2eproto_once;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sync_2eproto = {
  false, false, descriptor_table_protodef_sync_2eproto, "sync.proto", 1453,
  &descriptor_table_sync_2eproto_once, descriptor_table_sync_2eproto_sccs, descriptor_table_sync_2eproto_deps, 8, 0,
  schemas, file_default_instances, TableStruct_sync_2eproto::offsets,
  file_level_metadata_sync_2eproto, 8, file_level_enum_descriptors_sync_2eproto, file_level_service_descriptors_sync_2eproto,
};

// Force running AddDescriptors() at dynamic initialization time.
static bool dynamic_init_dummy_sync_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_sync_2eproto)), true);
namespace sync_proto {
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MessageID_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sync_2eproto);
  return file_level_enum_descriptors_sync_2eproto[0];
}
bool MessageID_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CfgPropID_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sync_2eproto);
  return file_level_enum_descriptors_sync_2eproto[1];
}
bool CfgPropID_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LogLevel_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sync_2eproto);
  return file_level_enum_descriptors_sync_2eproto[2];
}
bool LogLevel_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GPSSatStatus_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sync_2eproto);
  return file_level_enum_descriptors_sync_2eproto[3];
}
bool GPSSatStatus_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}


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

void ConfigItem::InitAsDefaultInstance() {
  ::sync_proto::_ConfigItem_default_instance_.bool_value_ = false;
  ::sync_proto::_ConfigItem_default_instance_.int_value_ = 0;
  ::sync_proto::_ConfigItem_default_instance_.float_value_ = 0;
  ::sync_proto::_ConfigItem_default_instance_.str_value_.UnsafeSetDefault(
      &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
class ConfigItem::_Internal {
 public:
};

ConfigItem::ConfigItem(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_proto.ConfigItem)
}
ConfigItem::ConfigItem(const ConfigItem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  prop_id_ = from.prop_id_;
  clear_has_value();
  switch (from.value_case()) {
    case kBoolValue: {
      _internal_set_bool_value(from._internal_bool_value());
      break;
    }
    case kIntValue: {
      _internal_set_int_value(from._internal_int_value());
      break;
    }
    case kFloatValue: {
      _internal_set_float_value(from._internal_float_value());
      break;
    }
    case kStrValue: {
      _internal_set_str_value(from._internal_str_value());
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:sync_proto.ConfigItem)
}

void ConfigItem::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ConfigItem_sync_2eproto.base);
  prop_id_ = 0;
  clear_has_value();
}

ConfigItem::~ConfigItem() {
  // @@protoc_insertion_point(destructor:sync_proto.ConfigItem)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ConfigItem::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (has_value()) {
    clear_value();
  }
}

void ConfigItem::ArenaDtor(void* object) {
  ConfigItem* _this = reinterpret_cast< ConfigItem* >(object);
  (void)_this;
}
void ConfigItem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ConfigItem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ConfigItem& ConfigItem::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ConfigItem_sync_2eproto.base);
  return *internal_default_instance();
}


void ConfigItem::clear_value() {
// @@protoc_insertion_point(one_of_clear_start:sync_proto.ConfigItem)
  switch (value_case()) {
    case kBoolValue: {
      // No need to clear
      break;
    }
    case kIntValue: {
      // No need to clear
      break;
    }
    case kFloatValue: {
      // No need to clear
      break;
    }
    case kStrValue: {
      value_.str_value_.Destroy(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  _oneof_case_[0] = VALUE_NOT_SET;
}


void ConfigItem::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_proto.ConfigItem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  prop_id_ = 0;
  clear_value();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ConfigItem::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // .sync_proto.CfgPropID prop_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_prop_id(static_cast<::sync_proto::CfgPropID>(val));
        } else goto handle_unusual;
        continue;
      // bool bool_value = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _internal_set_bool_value(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 int_value = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          _internal_set_int_value(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // float float_value = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 37)) {
          _internal_set_float_value(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr));
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // string str_value = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          auto str = _internal_mutable_str_value();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "sync_proto.ConfigItem.str_value"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* ConfigItem::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:sync_proto.ConfigItem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .sync_proto.CfgPropID prop_id = 1;
  if (this->prop_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_prop_id(), target);
  }

  // bool bool_value = 2;
  if (_internal_has_bool_value()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_bool_value(), target);
  }

  // int32 int_value = 3;
  if (_internal_has_int_value()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_int_value(), target);
  }

  // float float_value = 4;
  if (_internal_has_float_value()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(4, this->_internal_float_value(), target);
  }

  // string str_value = 5;
  if (_internal_has_str_value()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_str_value().data(), static_cast<int>(this->_internal_str_value().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "sync_proto.ConfigItem.str_value");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_str_value(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_proto.ConfigItem)
  return target;
}

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

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .sync_proto.CfgPropID prop_id = 1;
  if (this->prop_id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_prop_id());
  }

  switch (value_case()) {
    // bool bool_value = 2;
    case kBoolValue: {
      total_size += 1 + 1;
      break;
    }
    // int32 int_value = 3;
    case kIntValue: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_int_value());
      break;
    }
    // float float_value = 4;
    case kFloatValue: {
      total_size += 1 + 4;
      break;
    }
    // string str_value = 5;
    case kStrValue: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_str_value());
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ConfigItem::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:sync_proto.ConfigItem)
  GOOGLE_DCHECK_NE(&from, this);
  const ConfigItem* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ConfigItem>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:sync_proto.ConfigItem)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:sync_proto.ConfigItem)
    MergeFrom(*source);
  }
}

void ConfigItem::MergeFrom(const ConfigItem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:sync_proto.ConfigItem)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.prop_id() != 0) {
    _internal_set_prop_id(from._internal_prop_id());
  }
  switch (from.value_case()) {
    case kBoolValue: {
      _internal_set_bool_value(from._internal_bool_value());
      break;
    }
    case kIntValue: {
      _internal_set_int_value(from._internal_int_value());
      break;
    }
    case kFloatValue: {
      _internal_set_float_value(from._internal_float_value());
      break;
    }
    case kStrValue: {
      _internal_set_str_value(from._internal_str_value());
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
}

void ConfigItem::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:sync_proto.ConfigItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void ConfigItem::InternalSwap(ConfigItem* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(prop_id_, other->prop_id_);
  swap(value_, other->value_);
  swap(_oneof_case_[0], other->_oneof_case_[0]);
}

::PROTOBUF_NAMESPACE_ID::Metadata ConfigItem::GetMetadata() const {
  return GetMetadataStatic();
}


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

void Config::InitAsDefaultInstance() {
}
class Config::_Internal {
 public:
};

Config::Config(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  item_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_proto.Config)
}
Config::Config(const Config& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      item_(from.item_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:sync_proto.Config)
}

void Config::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Config_sync_2eproto.base);
}

Config::~Config() {
  // @@protoc_insertion_point(destructor:sync_proto.Config)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Config::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void Config::ArenaDtor(void* object) {
  Config* _this = reinterpret_cast< Config* >(object);
  (void)_this;
}
void Config::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Config::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Config& Config::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Config_sync_2eproto.base);
  return *internal_default_instance();
}


void Config::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_proto.Config)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  item_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Config::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .sync_proto.ConfigItem item = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_item(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Config::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:sync_proto.Config)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .sync_proto.ConfigItem item = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_item_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_item(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_proto.Config)
  return target;
}

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

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .sync_proto.ConfigItem item = 1;
  total_size += 1UL * this->_internal_item_size();
  for (const auto& msg : this->item_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Config::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:sync_proto.Config)
  GOOGLE_DCHECK_NE(&from, this);
  const Config* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Config>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:sync_proto.Config)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:sync_proto.Config)
    MergeFrom(*source);
  }
}

void Config::MergeFrom(const Config& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:sync_proto.Config)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  item_.MergeFrom(from.item_);
}

void Config::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:sync_proto.Config)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void Config::InternalSwap(Config* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  item_.InternalSwap(&other->item_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Config::GetMetadata() const {
  return GetMetadataStatic();
}


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

void IMU_RAW::InitAsDefaultInstance() {
}
class IMU_RAW::_Internal {
 public:
};

IMU_RAW::IMU_RAW(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_proto.IMU_RAW)
}
IMU_RAW::IMU_RAW(const IMU_RAW& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&time_us_, &from.time_us_,
    static_cast<size_t>(reinterpret_cast<char*>(&gz_) -
    reinterpret_cast<char*>(&time_us_)) + sizeof(gz_));
  // @@protoc_insertion_point(copy_constructor:sync_proto.IMU_RAW)
}

void IMU_RAW::SharedCtor() {
  ::memset(&time_us_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&gz_) -
      reinterpret_cast<char*>(&time_us_)) + sizeof(gz_));
}

IMU_RAW::~IMU_RAW() {
  // @@protoc_insertion_point(destructor:sync_proto.IMU_RAW)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void IMU_RAW::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void IMU_RAW::ArenaDtor(void* object) {
  IMU_RAW* _this = reinterpret_cast< IMU_RAW* >(object);
  (void)_this;
}
void IMU_RAW::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void IMU_RAW::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const IMU_RAW& IMU_RAW::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_IMU_RAW_sync_2eproto.base);
  return *internal_default_instance();
}


void IMU_RAW::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_proto.IMU_RAW)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&time_us_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&gz_) -
      reinterpret_cast<char*>(&time_us_)) + sizeof(gz_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* IMU_RAW::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 time_us = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          time_us_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double ax = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
          ax_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double ay = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
          ay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double az = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 33)) {
          az_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double gx = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 41)) {
          gx_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double gy = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 49)) {
          gy_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double gz = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 57)) {
          gz_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* IMU_RAW::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:sync_proto.IMU_RAW)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 time_us = 1;
  if (this->time_us() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_time_us(), target);
  }

  // double ax = 2;
  if (!(this->ax() <= 0 && this->ax() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_ax(), target);
  }

  // double ay = 3;
  if (!(this->ay() <= 0 && this->ay() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_ay(), target);
  }

  // double az = 4;
  if (!(this->az() <= 0 && this->az() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_az(), target);
  }

  // double gx = 5;
  if (!(this->gx() <= 0 && this->gx() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(5, this->_internal_gx(), target);
  }

  // double gy = 6;
  if (!(this->gy() <= 0 && this->gy() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(6, this->_internal_gy(), target);
  }

  // double gz = 7;
  if (!(this->gz() <= 0 && this->gz() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(7, this->_internal_gz(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_proto.IMU_RAW)
  return target;
}

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

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // int64 time_us = 1;
  if (this->time_us() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->_internal_time_us());
  }

  // double ax = 2;
  if (!(this->ax() <= 0 && this->ax() >= 0)) {
    total_size += 1 + 8;
  }

  // double ay = 3;
  if (!(this->ay() <= 0 && this->ay() >= 0)) {
    total_size += 1 + 8;
  }

  // double az = 4;
  if (!(this->az() <= 0 && this->az() >= 0)) {
    total_size += 1 + 8;
  }

  // double gx = 5;
  if (!(this->gx() <= 0 && this->gx() >= 0)) {
    total_size += 1 + 8;
  }

  // double gy = 6;
  if (!(this->gy() <= 0 && this->gy() >= 0)) {
    total_size += 1 + 8;
  }

  // double gz = 7;
  if (!(this->gz() <= 0 && this->gz() >= 0)) {
    total_size += 1 + 8;
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void IMU_RAW::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:sync_proto.IMU_RAW)
  GOOGLE_DCHECK_NE(&from, this);
  const IMU_RAW* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<IMU_RAW>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:sync_proto.IMU_RAW)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:sync_proto.IMU_RAW)
    MergeFrom(*source);
  }
}

void IMU_RAW::MergeFrom(const IMU_RAW& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:sync_proto.IMU_RAW)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.time_us() != 0) {
    _internal_set_time_us(from._internal_time_us());
  }
  if (!(from.ax() <= 0 && from.ax() >= 0)) {
    _internal_set_ax(from._internal_ax());
  }
  if (!(from.ay() <= 0 && from.ay() >= 0)) {
    _internal_set_ay(from._internal_ay());
  }
  if (!(from.az() <= 0 && from.az() >= 0)) {
    _internal_set_az(from._internal_az());
  }
  if (!(from.gx() <= 0 && from.gx() >= 0)) {
    _internal_set_gx(from._internal_gx());
  }
  if (!(from.gy() <= 0 && from.gy() >= 0)) {
    _internal_set_gy(from._internal_gy());
  }
  if (!(from.gz() <= 0 && from.gz() >= 0)) {
    _internal_set_gz(from._internal_gz());
  }
}

void IMU_RAW::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:sync_proto.IMU_RAW)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void IMU_RAW::InternalSwap(IMU_RAW* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IMU_RAW, gz_)
      + sizeof(IMU_RAW::gz_)
      - PROTOBUF_FIELD_OFFSET(IMU_RAW, time_us_)>(
          reinterpret_cast<char*>(&time_us_),
          reinterpret_cast<char*>(&other->time_us_));
}

::PROTOBUF_NAMESPACE_ID::Metadata IMU_RAW::GetMetadata() const {
  return GetMetadataStatic();
}


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

void IMU::InitAsDefaultInstance() {
}
class IMU::_Internal {
 public:
};

IMU::IMU(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_proto.IMU)
}
IMU::IMU(const IMU& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&time_us_, &from.time_us_,
    static_cast<size_t>(reinterpret_cast<char*>(&yaw_) -
    reinterpret_cast<char*>(&time_us_)) + sizeof(yaw_));
  // @@protoc_insertion_point(copy_constructor:sync_proto.IMU)
}

void IMU::SharedCtor() {
  ::memset(&time_us_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&yaw_) -
      reinterpret_cast<char*>(&time_us_)) + sizeof(yaw_));
}

IMU::~IMU() {
  // @@protoc_insertion_point(destructor:sync_proto.IMU)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void IMU::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void IMU::ArenaDtor(void* object) {
  IMU* _this = reinterpret_cast< IMU* >(object);
  (void)_this;
}
void IMU::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void IMU::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const IMU& IMU::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_IMU_sync_2eproto.base);
  return *internal_default_instance();
}


void IMU::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_proto.IMU)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&time_us_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&yaw_) -
      reinterpret_cast<char*>(&time_us_)) + sizeof(yaw_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* IMU::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 time_us = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          time_us_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double ax = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
          ax_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double ay = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
          ay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double az = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 33)) {
          az_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double gx = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 41)) {
          gx_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double gy = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 49)) {
          gy_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double gz = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 57)) {
          gz_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double roll = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 65)) {
          roll_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double pitch = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 73)) {
          pitch_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double yaw = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 81)) {
          yaw_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* IMU::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:sync_proto.IMU)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 time_us = 1;
  if (this->time_us() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_time_us(), target);
  }

  // double ax = 2;
  if (!(this->ax() <= 0 && this->ax() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_ax(), target);
  }

  // double ay = 3;
  if (!(this->ay() <= 0 && this->ay() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_ay(), target);
  }

  // double az = 4;
  if (!(this->az() <= 0 && this->az() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_az(), target);
  }

  // double gx = 5;
  if (!(this->gx() <= 0 && this->gx() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(5, this->_internal_gx(), target);
  }

  // double gy = 6;
  if (!(this->gy() <= 0 && this->gy() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(6, this->_internal_gy(), target);
  }

  // double gz = 7;
  if (!(this->gz() <= 0 && this->gz() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(7, this->_internal_gz(), target);
  }

  // double roll = 8;
  if (!(this->roll() <= 0 && this->roll() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(8, this->_internal_roll(), target);
  }

  // double pitch = 9;
  if (!(this->pitch() <= 0 && this->pitch() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(9, this->_internal_pitch(), target);
  }

  // double yaw = 10;
  if (!(this->yaw() <= 0 && this->yaw() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(10, this->_internal_yaw(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_proto.IMU)
  return target;
}

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

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // int64 time_us = 1;
  if (this->time_us() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->_internal_time_us());
  }

  // double ax = 2;
  if (!(this->ax() <= 0 && this->ax() >= 0)) {
    total_size += 1 + 8;
  }

  // double ay = 3;
  if (!(this->ay() <= 0 && this->ay() >= 0)) {
    total_size += 1 + 8;
  }

  // double az = 4;
  if (!(this->az() <= 0 && this->az() >= 0)) {
    total_size += 1 + 8;
  }

  // double gx = 5;
  if (!(this->gx() <= 0 && this->gx() >= 0)) {
    total_size += 1 + 8;
  }

  // double gy = 6;
  if (!(this->gy() <= 0 && this->gy() >= 0)) {
    total_size += 1 + 8;
  }

  // double gz = 7;
  if (!(this->gz() <= 0 && this->gz() >= 0)) {
    total_size += 1 + 8;
  }

  // double roll = 8;
  if (!(this->roll() <= 0 && this->roll() >= 0)) {
    total_size += 1 + 8;
  }

  // double pitch = 9;
  if (!(this->pitch() <= 0 && this->pitch() >= 0)) {
    total_size += 1 + 8;
  }

  // double yaw = 10;
  if (!(this->yaw() <= 0 && this->yaw() >= 0)) {
    total_size += 1 + 8;
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void IMU::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:sync_proto.IMU)
  GOOGLE_DCHECK_NE(&from, this);
  const IMU* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<IMU>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:sync_proto.IMU)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:sync_proto.IMU)
    MergeFrom(*source);
  }
}

void IMU::MergeFrom(const IMU& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:sync_proto.IMU)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.time_us() != 0) {
    _internal_set_time_us(from._internal_time_us());
  }
  if (!(from.ax() <= 0 && from.ax() >= 0)) {
    _internal_set_ax(from._internal_ax());
  }
  if (!(from.ay() <= 0 && from.ay() >= 0)) {
    _internal_set_ay(from._internal_ay());
  }
  if (!(from.az() <= 0 && from.az() >= 0)) {
    _internal_set_az(from._internal_az());
  }
  if (!(from.gx() <= 0 && from.gx() >= 0)) {
    _internal_set_gx(from._internal_gx());
  }
  if (!(from.gy() <= 0 && from.gy() >= 0)) {
    _internal_set_gy(from._internal_gy());
  }
  if (!(from.gz() <= 0 && from.gz() >= 0)) {
    _internal_set_gz(from._internal_gz());
  }
  if (!(from.roll() <= 0 && from.roll() >= 0)) {
    _internal_set_roll(from._internal_roll());
  }
  if (!(from.pitch() <= 0 && from.pitch() >= 0)) {
    _internal_set_pitch(from._internal_pitch());
  }
  if (!(from.yaw() <= 0 && from.yaw() >= 0)) {
    _internal_set_yaw(from._internal_yaw());
  }
}

void IMU::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:sync_proto.IMU)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void IMU::InternalSwap(IMU* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IMU, yaw_)
      + sizeof(IMU::yaw_)
      - PROTOBUF_FIELD_OFFSET(IMU, time_us_)>(
          reinterpret_cast<char*>(&time_us_),
          reinterpret_cast<char*>(&other->time_us_));
}

::PROTOBUF_NAMESPACE_ID::Metadata IMU::GetMetadata() const {
  return GetMetadataStatic();
}


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

void TRIGGER::InitAsDefaultInstance() {
}
class TRIGGER::_Internal {
 public:
};

TRIGGER::TRIGGER(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_proto.TRIGGER)
}
TRIGGER::TRIGGER(const TRIGGER& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&trigger_time_us_, &from.trigger_time_us_,
    static_cast<size_t>(reinterpret_cast<char*>(&recv_trigger_time_us_) -
    reinterpret_cast<char*>(&trigger_time_us_)) + sizeof(recv_trigger_time_us_));
  // @@protoc_insertion_point(copy_constructor:sync_proto.TRIGGER)
}

void TRIGGER::SharedCtor() {
  ::memset(&trigger_time_us_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&recv_trigger_time_us_) -
      reinterpret_cast<char*>(&trigger_time_us_)) + sizeof(recv_trigger_time_us_));
}

TRIGGER::~TRIGGER() {
  // @@protoc_insertion_point(destructor:sync_proto.TRIGGER)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void TRIGGER::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void TRIGGER::ArenaDtor(void* object) {
  TRIGGER* _this = reinterpret_cast< TRIGGER* >(object);
  (void)_this;
}
void TRIGGER::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TRIGGER::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TRIGGER& TRIGGER::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_TRIGGER_sync_2eproto.base);
  return *internal_default_instance();
}


void TRIGGER::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_proto.TRIGGER)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&trigger_time_us_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&recv_trigger_time_us_) -
      reinterpret_cast<char*>(&trigger_time_us_)) + sizeof(recv_trigger_time_us_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TRIGGER::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 trigger_time_us = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          trigger_time_us_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 recv_trigger_time_us = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          recv_trigger_time_us_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* TRIGGER::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:sync_proto.TRIGGER)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 trigger_time_us = 1;
  if (this->trigger_time_us() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_trigger_time_us(), target);
  }

  // int64 recv_trigger_time_us = 2;
  if (this->recv_trigger_time_us() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_recv_trigger_time_us(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_proto.TRIGGER)
  return target;
}

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

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // int64 trigger_time_us = 1;
  if (this->trigger_time_us() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->_internal_trigger_time_us());
  }

  // int64 recv_trigger_time_us = 2;
  if (this->recv_trigger_time_us() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->_internal_recv_trigger_time_us());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TRIGGER::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:sync_proto.TRIGGER)
  GOOGLE_DCHECK_NE(&from, this);
  const TRIGGER* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TRIGGER>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:sync_proto.TRIGGER)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:sync_proto.TRIGGER)
    MergeFrom(*source);
  }
}

void TRIGGER::MergeFrom(const TRIGGER& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:sync_proto.TRIGGER)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.trigger_time_us() != 0) {
    _internal_set_trigger_time_us(from._internal_trigger_time_us());
  }
  if (from.recv_trigger_time_us() != 0) {
    _internal_set_recv_trigger_time_us(from._internal_recv_trigger_time_us());
  }
}

void TRIGGER::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:sync_proto.TRIGGER)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void TRIGGER::InternalSwap(TRIGGER* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TRIGGER, recv_trigger_time_us_)
      + sizeof(TRIGGER::recv_trigger_time_us_)
      - PROTOBUF_FIELD_OFFSET(TRIGGER, trigger_time_us_)>(
          reinterpret_cast<char*>(&trigger_time_us_),
          reinterpret_cast<char*>(&other->trigger_time_us_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TRIGGER::GetMetadata() const {
  return GetMetadataStatic();
}


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

void LOG::InitAsDefaultInstance() {
}
class LOG::_Internal {
 public:
};

LOG::LOG(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_proto.LOG)
}
LOG::LOG(const LOG& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  level_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_level().empty()) {
    level_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_level(),
      GetArena());
  }
  module_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_module().empty()) {
    module_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_module(),
      GetArena());
  }
  message_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_message().empty()) {
    message_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_message(),
      GetArena());
  }
  time_ = from.time_;
  // @@protoc_insertion_point(copy_constructor:sync_proto.LOG)
}

void LOG::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_LOG_sync_2eproto.base);
  level_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  module_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  message_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  time_ = PROTOBUF_LONGLONG(0);
}

LOG::~LOG() {
  // @@protoc_insertion_point(destructor:sync_proto.LOG)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void LOG::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  level_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  module_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  message_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void LOG::ArenaDtor(void* object) {
  LOG* _this = reinterpret_cast< LOG* >(object);
  (void)_this;
}
void LOG::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void LOG::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const LOG& LOG::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_LOG_sync_2eproto.base);
  return *internal_default_instance();
}


void LOG::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_proto.LOG)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  level_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  module_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  message_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  time_ = PROTOBUF_LONGLONG(0);
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* LOG::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 time = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          time_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string level = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_level();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "sync_proto.LOG.level"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string module = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_module();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "sync_proto.LOG.module"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string message = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_message();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "sync_proto.LOG.message"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* LOG::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:sync_proto.LOG)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 time = 1;
  if (this->time() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_time(), target);
  }

  // string level = 2;
  if (this->level().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_level().data(), static_cast<int>(this->_internal_level().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "sync_proto.LOG.level");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_level(), target);
  }

  // string module = 3;
  if (this->module().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_module().data(), static_cast<int>(this->_internal_module().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "sync_proto.LOG.module");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_module(), target);
  }

  // string message = 4;
  if (this->message().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_message().data(), static_cast<int>(this->_internal_message().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "sync_proto.LOG.message");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_message(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_proto.LOG)
  return target;
}

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

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string level = 2;
  if (this->level().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_level());
  }

  // string module = 3;
  if (this->module().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_module());
  }

  // string message = 4;
  if (this->message().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_message());
  }

  // int64 time = 1;
  if (this->time() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->_internal_time());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void LOG::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:sync_proto.LOG)
  GOOGLE_DCHECK_NE(&from, this);
  const LOG* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LOG>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:sync_proto.LOG)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:sync_proto.LOG)
    MergeFrom(*source);
  }
}

void LOG::MergeFrom(const LOG& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:sync_proto.LOG)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.level().size() > 0) {
    _internal_set_level(from._internal_level());
  }
  if (from.module().size() > 0) {
    _internal_set_module(from._internal_module());
  }
  if (from.message().size() > 0) {
    _internal_set_message(from._internal_message());
  }
  if (from.time() != 0) {
    _internal_set_time(from._internal_time());
  }
}

void LOG::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:sync_proto.LOG)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void LOG::InternalSwap(LOG* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  level_.Swap(&other->level_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  module_.Swap(&other->module_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  message_.Swap(&other->message_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(time_, other->time_);
}

::PROTOBUF_NAMESPACE_ID::Metadata LOG::GetMetadata() const {
  return GetMetadataStatic();
}


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

void GPS_RAW::InitAsDefaultInstance() {
}
class GPS_RAW::_Internal {
 public:
};

GPS_RAW::GPS_RAW(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_proto.GPS_RAW)
}
GPS_RAW::GPS_RAW(const GPS_RAW& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&time_us_, &from.time_us_,
    static_cast<size_t>(reinterpret_cast<char*>(&satellites_visible_) -
    reinterpret_cast<char*>(&time_us_)) + sizeof(satellites_visible_));
  // @@protoc_insertion_point(copy_constructor:sync_proto.GPS_RAW)
}

void GPS_RAW::SharedCtor() {
  ::memset(&time_us_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&satellites_visible_) -
      reinterpret_cast<char*>(&time_us_)) + sizeof(satellites_visible_));
}

GPS_RAW::~GPS_RAW() {
  // @@protoc_insertion_point(destructor:sync_proto.GPS_RAW)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GPS_RAW::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void GPS_RAW::ArenaDtor(void* object) {
  GPS_RAW* _this = reinterpret_cast< GPS_RAW* >(object);
  (void)_this;
}
void GPS_RAW::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GPS_RAW::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GPS_RAW& GPS_RAW::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GPS_RAW_sync_2eproto.base);
  return *internal_default_instance();
}


void GPS_RAW::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_proto.GPS_RAW)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&time_us_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&satellites_visible_) -
      reinterpret_cast<char*>(&time_us_)) + sizeof(satellites_visible_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GPS_RAW::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int64 time_us = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          time_us_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double latitude = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
          latitude_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double longitude = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
          longitude_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // float altitude = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 37)) {
          altitude_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // float eph = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 45)) {
          eph_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // float epv = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 53)) {
          epv_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // float vel = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 61)) {
          vel_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // float cog = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 69)) {
          cog_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // uint32 fix_type = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          fix_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 satellites_visible = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          satellites_visible_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GPS_RAW::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:sync_proto.GPS_RAW)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 time_us = 1;
  if (this->time_us() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_time_us(), target);
  }

  // double latitude = 2;
  if (!(this->latitude() <= 0 && this->latitude() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_latitude(), target);
  }

  // double longitude = 3;
  if (!(this->longitude() <= 0 && this->longitude() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_longitude(), target);
  }

  // float altitude = 4;
  if (!(this->altitude() <= 0 && this->altitude() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(4, this->_internal_altitude(), target);
  }

  // float eph = 5;
  if (!(this->eph() <= 0 && this->eph() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(5, this->_internal_eph(), target);
  }

  // float epv = 6;
  if (!(this->epv() <= 0 && this->epv() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(6, this->_internal_epv(), target);
  }

  // float vel = 7;
  if (!(this->vel() <= 0 && this->vel() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(7, this->_internal_vel(), target);
  }

  // float cog = 8;
  if (!(this->cog() <= 0 && this->cog() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(8, this->_internal_cog(), target);
  }

  // uint32 fix_type = 9;
  if (this->fix_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(9, this->_internal_fix_type(), target);
  }

  // uint32 satellites_visible = 10;
  if (this->satellites_visible() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(10, this->_internal_satellites_visible(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_proto.GPS_RAW)
  return target;
}

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

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // int64 time_us = 1;
  if (this->time_us() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->_internal_time_us());
  }

  // double latitude = 2;
  if (!(this->latitude() <= 0 && this->latitude() >= 0)) {
    total_size += 1 + 8;
  }

  // double longitude = 3;
  if (!(this->longitude() <= 0 && this->longitude() >= 0)) {
    total_size += 1 + 8;
  }

  // float altitude = 4;
  if (!(this->altitude() <= 0 && this->altitude() >= 0)) {
    total_size += 1 + 4;
  }

  // float eph = 5;
  if (!(this->eph() <= 0 && this->eph() >= 0)) {
    total_size += 1 + 4;
  }

  // float epv = 6;
  if (!(this->epv() <= 0 && this->epv() >= 0)) {
    total_size += 1 + 4;
  }

  // float vel = 7;
  if (!(this->vel() <= 0 && this->vel() >= 0)) {
    total_size += 1 + 4;
  }

  // float cog = 8;
  if (!(this->cog() <= 0 && this->cog() >= 0)) {
    total_size += 1 + 4;
  }

  // uint32 fix_type = 9;
  if (this->fix_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_fix_type());
  }

  // uint32 satellites_visible = 10;
  if (this->satellites_visible() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_satellites_visible());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GPS_RAW::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:sync_proto.GPS_RAW)
  GOOGLE_DCHECK_NE(&from, this);
  const GPS_RAW* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GPS_RAW>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:sync_proto.GPS_RAW)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:sync_proto.GPS_RAW)
    MergeFrom(*source);
  }
}

void GPS_RAW::MergeFrom(const GPS_RAW& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:sync_proto.GPS_RAW)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.time_us() != 0) {
    _internal_set_time_us(from._internal_time_us());
  }
  if (!(from.latitude() <= 0 && from.latitude() >= 0)) {
    _internal_set_latitude(from._internal_latitude());
  }
  if (!(from.longitude() <= 0 && from.longitude() >= 0)) {
    _internal_set_longitude(from._internal_longitude());
  }
  if (!(from.altitude() <= 0 && from.altitude() >= 0)) {
    _internal_set_altitude(from._internal_altitude());
  }
  if (!(from.eph() <= 0 && from.eph() >= 0)) {
    _internal_set_eph(from._internal_eph());
  }
  if (!(from.epv() <= 0 && from.epv() >= 0)) {
    _internal_set_epv(from._internal_epv());
  }
  if (!(from.vel() <= 0 && from.vel() >= 0)) {
    _internal_set_vel(from._internal_vel());
  }
  if (!(from.cog() <= 0 && from.cog() >= 0)) {
    _internal_set_cog(from._internal_cog());
  }
  if (from.fix_type() != 0) {
    _internal_set_fix_type(from._internal_fix_type());
  }
  if (from.satellites_visible() != 0) {
    _internal_set_satellites_visible(from._internal_satellites_visible());
  }
}

void GPS_RAW::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:sync_proto.GPS_RAW)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void GPS_RAW::InternalSwap(GPS_RAW* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GPS_RAW, satellites_visible_)
      + sizeof(GPS_RAW::satellites_visible_)
      - PROTOBUF_FIELD_OFFSET(GPS_RAW, time_us_)>(
          reinterpret_cast<char*>(&time_us_),
          reinterpret_cast<char*>(&other->time_us_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GPS_RAW::GetMetadata() const {
  return GetMetadataStatic();
}


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

void Envelope::InitAsDefaultInstance() {
  ::sync_proto::_Envelope_default_instance_.imu_raw_ = const_cast< ::sync_proto::IMU_RAW*>(
      ::sync_proto::IMU_RAW::internal_default_instance());
  ::sync_proto::_Envelope_default_instance_.imu_ = const_cast< ::sync_proto::IMU*>(
      ::sync_proto::IMU::internal_default_instance());
  ::sync_proto::_Envelope_default_instance_.trigger_ = const_cast< ::sync_proto::TRIGGER*>(
      ::sync_proto::TRIGGER::internal_default_instance());
  ::sync_proto::_Envelope_default_instance_.log_ = const_cast< ::sync_proto::LOG*>(
      ::sync_proto::LOG::internal_default_instance());
  ::sync_proto::_Envelope_default_instance_.gps_raw_ = const_cast< ::sync_proto::GPS_RAW*>(
      ::sync_proto::GPS_RAW::internal_default_instance());
}
class Envelope::_Internal {
 public:
  static const ::sync_proto::IMU_RAW& imu_raw(const Envelope* msg);
  static const ::sync_proto::IMU& imu(const Envelope* msg);
  static const ::sync_proto::TRIGGER& trigger(const Envelope* msg);
  static const ::sync_proto::LOG& log(const Envelope* msg);
  static const ::sync_proto::GPS_RAW& gps_raw(const Envelope* msg);
};

const ::sync_proto::IMU_RAW&
Envelope::_Internal::imu_raw(const Envelope* msg) {
  return *msg->payload_.imu_raw_;
}
const ::sync_proto::IMU&
Envelope::_Internal::imu(const Envelope* msg) {
  return *msg->payload_.imu_;
}
const ::sync_proto::TRIGGER&
Envelope::_Internal::trigger(const Envelope* msg) {
  return *msg->payload_.trigger_;
}
const ::sync_proto::LOG&
Envelope::_Internal::log(const Envelope* msg) {
  return *msg->payload_.log_;
}
const ::sync_proto::GPS_RAW&
Envelope::_Internal::gps_raw(const Envelope* msg) {
  return *msg->payload_.gps_raw_;
}
void Envelope::set_allocated_imu_raw(::sync_proto::IMU_RAW* imu_raw) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_payload();
  if (imu_raw) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(imu_raw);
    if (message_arena != submessage_arena) {
      imu_raw = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, imu_raw, submessage_arena);
    }
    set_has_imu_raw();
    payload_.imu_raw_ = imu_raw;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_proto.Envelope.imu_raw)
}
void Envelope::set_allocated_imu(::sync_proto::IMU* imu) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_payload();
  if (imu) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(imu);
    if (message_arena != submessage_arena) {
      imu = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, imu, submessage_arena);
    }
    set_has_imu();
    payload_.imu_ = imu;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_proto.Envelope.imu)
}
void Envelope::set_allocated_trigger(::sync_proto::TRIGGER* trigger) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_payload();
  if (trigger) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(trigger);
    if (message_arena != submessage_arena) {
      trigger = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, trigger, submessage_arena);
    }
    set_has_trigger();
    payload_.trigger_ = trigger;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_proto.Envelope.trigger)
}
void Envelope::set_allocated_log(::sync_proto::LOG* log) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_payload();
  if (log) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(log);
    if (message_arena != submessage_arena) {
      log = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, log, submessage_arena);
    }
    set_has_log();
    payload_.log_ = log;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_proto.Envelope.log)
}
void Envelope::set_allocated_gps_raw(::sync_proto::GPS_RAW* gps_raw) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_payload();
  if (gps_raw) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(gps_raw);
    if (message_arena != submessage_arena) {
      gps_raw = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, gps_raw, submessage_arena);
    }
    set_has_gps_raw();
    payload_.gps_raw_ = gps_raw;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_proto.Envelope.gps_raw)
}
Envelope::Envelope(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_proto.Envelope)
}
Envelope::Envelope(const Envelope& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  id_ = from.id_;
  clear_has_payload();
  switch (from.payload_case()) {
    case kImuRaw: {
      _internal_mutable_imu_raw()->::sync_proto::IMU_RAW::MergeFrom(from._internal_imu_raw());
      break;
    }
    case kImu: {
      _internal_mutable_imu()->::sync_proto::IMU::MergeFrom(from._internal_imu());
      break;
    }
    case kTrigger: {
      _internal_mutable_trigger()->::sync_proto::TRIGGER::MergeFrom(from._internal_trigger());
      break;
    }
    case kLog: {
      _internal_mutable_log()->::sync_proto::LOG::MergeFrom(from._internal_log());
      break;
    }
    case kGpsRaw: {
      _internal_mutable_gps_raw()->::sync_proto::GPS_RAW::MergeFrom(from._internal_gps_raw());
      break;
    }
    case PAYLOAD_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:sync_proto.Envelope)
}

void Envelope::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Envelope_sync_2eproto.base);
  id_ = 0;
  clear_has_payload();
}

Envelope::~Envelope() {
  // @@protoc_insertion_point(destructor:sync_proto.Envelope)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Envelope::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (has_payload()) {
    clear_payload();
  }
}

void Envelope::ArenaDtor(void* object) {
  Envelope* _this = reinterpret_cast< Envelope* >(object);
  (void)_this;
}
void Envelope::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Envelope::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Envelope& Envelope::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Envelope_sync_2eproto.base);
  return *internal_default_instance();
}


void Envelope::clear_payload() {
// @@protoc_insertion_point(one_of_clear_start:sync_proto.Envelope)
  switch (payload_case()) {
    case kImuRaw: {
      if (GetArena() == nullptr) {
        delete payload_.imu_raw_;
      }
      break;
    }
    case kImu: {
      if (GetArena() == nullptr) {
        delete payload_.imu_;
      }
      break;
    }
    case kTrigger: {
      if (GetArena() == nullptr) {
        delete payload_.trigger_;
      }
      break;
    }
    case kLog: {
      if (GetArena() == nullptr) {
        delete payload_.log_;
      }
      break;
    }
    case kGpsRaw: {
      if (GetArena() == nullptr) {
        delete payload_.gps_raw_;
      }
      break;
    }
    case PAYLOAD_NOT_SET: {
      break;
    }
  }
  _oneof_case_[0] = PAYLOAD_NOT_SET;
}


void Envelope::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_proto.Envelope)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  id_ = 0;
  clear_payload();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Envelope::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // .sync_proto.MessageID id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_id(static_cast<::sync_proto::MessageID>(val));
        } else goto handle_unusual;
        continue;
      // .sync_proto.IMU_RAW imu_raw = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_imu_raw(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .sync_proto.IMU imu = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_imu(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .sync_proto.TRIGGER trigger = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_trigger(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .sync_proto.LOG log = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_log(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .sync_proto.GPS_RAW gps_raw = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_gps_raw(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Envelope::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:sync_proto.Envelope)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .sync_proto.MessageID id = 1;
  if (this->id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_id(), target);
  }

  // .sync_proto.IMU_RAW imu_raw = 2;
  if (_internal_has_imu_raw()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::imu_raw(this), target, stream);
  }

  // .sync_proto.IMU imu = 3;
  if (_internal_has_imu()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::imu(this), target, stream);
  }

  // .sync_proto.TRIGGER trigger = 4;
  if (_internal_has_trigger()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::trigger(this), target, stream);
  }

  // .sync_proto.LOG log = 5;
  if (_internal_has_log()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::log(this), target, stream);
  }

  // .sync_proto.GPS_RAW gps_raw = 6;
  if (_internal_has_gps_raw()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::gps_raw(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_proto.Envelope)
  return target;
}

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

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .sync_proto.MessageID id = 1;
  if (this->id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_id());
  }

  switch (payload_case()) {
    // .sync_proto.IMU_RAW imu_raw = 2;
    case kImuRaw: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *payload_.imu_raw_);
      break;
    }
    // .sync_proto.IMU imu = 3;
    case kImu: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *payload_.imu_);
      break;
    }
    // .sync_proto.TRIGGER trigger = 4;
    case kTrigger: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *payload_.trigger_);
      break;
    }
    // .sync_proto.LOG log = 5;
    case kLog: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *payload_.log_);
      break;
    }
    // .sync_proto.GPS_RAW gps_raw = 6;
    case kGpsRaw: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *payload_.gps_raw_);
      break;
    }
    case PAYLOAD_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Envelope::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:sync_proto.Envelope)
  GOOGLE_DCHECK_NE(&from, this);
  const Envelope* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Envelope>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:sync_proto.Envelope)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:sync_proto.Envelope)
    MergeFrom(*source);
  }
}

void Envelope::MergeFrom(const Envelope& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:sync_proto.Envelope)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.id() != 0) {
    _internal_set_id(from._internal_id());
  }
  switch (from.payload_case()) {
    case kImuRaw: {
      _internal_mutable_imu_raw()->::sync_proto::IMU_RAW::MergeFrom(from._internal_imu_raw());
      break;
    }
    case kImu: {
      _internal_mutable_imu()->::sync_proto::IMU::MergeFrom(from._internal_imu());
      break;
    }
    case kTrigger: {
      _internal_mutable_trigger()->::sync_proto::TRIGGER::MergeFrom(from._internal_trigger());
      break;
    }
    case kLog: {
      _internal_mutable_log()->::sync_proto::LOG::MergeFrom(from._internal_log());
      break;
    }
    case kGpsRaw: {
      _internal_mutable_gps_raw()->::sync_proto::GPS_RAW::MergeFrom(from._internal_gps_raw());
      break;
    }
    case PAYLOAD_NOT_SET: {
      break;
    }
  }
}

void Envelope::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:sync_proto.Envelope)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void Envelope::InternalSwap(Envelope* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(id_, other->id_);
  swap(payload_, other->payload_);
  swap(_oneof_case_[0], other->_oneof_case_[0]);
}

::PROTOBUF_NAMESPACE_ID::Metadata Envelope::GetMetadata() const {
  return GetMetadataStatic();
}


// @@protoc_insertion_point(namespace_scope)
}  // namespace sync_proto
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::sync_proto::ConfigItem* Arena::CreateMaybeMessage< ::sync_proto::ConfigItem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::sync_proto::ConfigItem >(arena);
}
template<> PROTOBUF_NOINLINE ::sync_proto::Config* Arena::CreateMaybeMessage< ::sync_proto::Config >(Arena* arena) {
  return Arena::CreateMessageInternal< ::sync_proto::Config >(arena);
}
template<> PROTOBUF_NOINLINE ::sync_proto::IMU_RAW* Arena::CreateMaybeMessage< ::sync_proto::IMU_RAW >(Arena* arena) {
  return Arena::CreateMessageInternal< ::sync_proto::IMU_RAW >(arena);
}
template<> PROTOBUF_NOINLINE ::sync_proto::IMU* Arena::CreateMaybeMessage< ::sync_proto::IMU >(Arena* arena) {
  return Arena::CreateMessageInternal< ::sync_proto::IMU >(arena);
}
template<> PROTOBUF_NOINLINE ::sync_proto::TRIGGER* Arena::CreateMaybeMessage< ::sync_proto::TRIGGER >(Arena* arena) {
  return Arena::CreateMessageInternal< ::sync_proto::TRIGGER >(arena);
}
template<> PROTOBUF_NOINLINE ::sync_proto::LOG* Arena::CreateMaybeMessage< ::sync_proto::LOG >(Arena* arena) {
  return Arena::CreateMessageInternal< ::sync_proto::LOG >(arena);
}
template<> PROTOBUF_NOINLINE ::sync_proto::GPS_RAW* Arena::CreateMaybeMessage< ::sync_proto::GPS_RAW >(Arena* arena) {
  return Arena::CreateMessageInternal< ::sync_proto::GPS_RAW >(arena);
}
template<> PROTOBUF_NOINLINE ::sync_proto::Envelope* Arena::CreateMaybeMessage< ::sync_proto::Envelope >(Arena* arena) {
  return Arena::CreateMessageInternal< ::sync_proto::Envelope >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
