// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto

#include "keyapis/vc/v1/keyapis_vc_camera_video_data_v1.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/io/zero_copy_stream_impl_lite.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = ::PROTOBUF_NAMESPACE_ID::internal;
namespace keyapis {
namespace vc {
namespace v1 {
template <typename>
PROTOBUF_CONSTEXPR CameraVideoData_Category::CameraVideoData_Category(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.title_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.id_)*/ 0

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CameraVideoData_CategoryDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraVideoData_CategoryDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraVideoData_CategoryDefaultTypeInternal() {}
  union {
    CameraVideoData_Category _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraVideoData_CategoryDefaultTypeInternal _CameraVideoData_Category_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraVideoData_Location::CameraVideoData_Location(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.lat_)*/ 0

  , /*decltype(_impl_.lng_)*/ 0

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CameraVideoData_LocationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraVideoData_LocationDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraVideoData_LocationDefaultTypeInternal() {}
  union {
    CameraVideoData_Location _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraVideoData_LocationDefaultTypeInternal _CameraVideoData_Location_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraVideoData_Status::CameraVideoData_Status(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.title_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.id_)*/ 0

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CameraVideoData_StatusDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraVideoData_StatusDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraVideoData_StatusDefaultTypeInternal() {}
  union {
    CameraVideoData_Status _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraVideoData_StatusDefaultTypeInternal _CameraVideoData_Status_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraVideoData::CameraVideoData(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.uid_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.title_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.serial_number_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.ip_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.streamer_url_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.mac_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.model_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.vendor_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.screenshot_url_template_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.screenshot_precise_url_template_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.user_token_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.streamer_token_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.screenshot_token_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.category_)*/nullptr
  , /*decltype(_impl_.status_)*/nullptr
  , /*decltype(_impl_.location_)*/nullptr
  , /*decltype(_impl_.created_at_)*/nullptr
  , /*decltype(_impl_.updated_at_)*/nullptr
  , /*decltype(_impl_.archive_length_)*/ 0

  , /*decltype(_impl_.utc_offset_)*/ 0
} {}
struct CameraVideoDataDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraVideoDataDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraVideoDataDefaultTypeInternal() {}
  union {
    CameraVideoData _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraVideoDataDefaultTypeInternal _CameraVideoData_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraVideoDataFilter::CameraVideoDataFilter(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.uids_)*/{}
  , /*decltype(_impl_.title_)*/{}
  , /*decltype(_impl_.mac_)*/{}
  , /*decltype(_impl_.ip_)*/{}
  , /*decltype(_impl_.serial_number_)*/{}
  , /*decltype(_impl_.category_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CameraVideoDataFilterDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraVideoDataFilterDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraVideoDataFilterDefaultTypeInternal() {}
  union {
    CameraVideoDataFilter _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraVideoDataFilterDefaultTypeInternal _CameraVideoDataFilter_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraVideoDataPaging::CameraVideoDataPaging(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.order_by_type_)*/ 0

  , /*decltype(_impl_.direction_type_)*/ 0

  , /*decltype(_impl_.limit_)*/ 0

  , /*decltype(_impl_.offset_)*/ 0

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CameraVideoDataPagingDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraVideoDataPagingDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraVideoDataPagingDefaultTypeInternal() {}
  union {
    CameraVideoDataPaging _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraVideoDataPagingDefaultTypeInternal _CameraVideoDataPaging_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraVideoDataScope::CameraVideoDataScope(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.scope_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct CameraVideoDataScopeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraVideoDataScopeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraVideoDataScopeDefaultTypeInternal() {}
  union {
    CameraVideoDataScope _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraVideoDataScopeDefaultTypeInternal _CameraVideoDataScope_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraVideoDataCountRequest::GetCameraVideoDataCountRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.scope_)*/nullptr
  , /*decltype(_impl_.filter_)*/nullptr} {}
struct GetCameraVideoDataCountRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraVideoDataCountRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraVideoDataCountRequestDefaultTypeInternal() {}
  union {
    GetCameraVideoDataCountRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraVideoDataCountRequestDefaultTypeInternal _GetCameraVideoDataCountRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraVideoDataCountResponse_Error::GetCameraVideoDataCountResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraVideoDataCountResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraVideoDataCountResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraVideoDataCountResponse_ErrorDefaultTypeInternal() {}
  union {
    GetCameraVideoDataCountResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraVideoDataCountResponse_ErrorDefaultTypeInternal _GetCameraVideoDataCountResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraVideoDataCountResponse::GetCameraVideoDataCountResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraVideoDataCountResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraVideoDataCountResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraVideoDataCountResponseDefaultTypeInternal() {}
  union {
    GetCameraVideoDataCountResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraVideoDataCountResponseDefaultTypeInternal _GetCameraVideoDataCountResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraVideoDataListRequest::GetCameraVideoDataListRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.scope_)*/nullptr
  , /*decltype(_impl_.filter_)*/nullptr
  , /*decltype(_impl_.pagination_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraVideoDataListRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraVideoDataListRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraVideoDataListRequestDefaultTypeInternal() {}
  union {
    GetCameraVideoDataListRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraVideoDataListRequestDefaultTypeInternal _GetCameraVideoDataListRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraVideoDataListResponse_Error::GetCameraVideoDataListResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraVideoDataListResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraVideoDataListResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraVideoDataListResponse_ErrorDefaultTypeInternal() {}
  union {
    GetCameraVideoDataListResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraVideoDataListResponse_ErrorDefaultTypeInternal _GetCameraVideoDataListResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraVideoDataListResponse::GetCameraVideoDataListResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.data_)*/{}
  , /*decltype(_impl_.error_)*/nullptr} {}
struct GetCameraVideoDataListResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraVideoDataListResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraVideoDataListResponseDefaultTypeInternal() {}
  union {
    GetCameraVideoDataListResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraVideoDataListResponseDefaultTypeInternal _GetCameraVideoDataListResponse_default_instance_;
}  // namespace v1
}  // namespace vc
}  // namespace keyapis
namespace keyapis {
namespace vc {
namespace v1 {
bool CameraVideoDataPaging_DirectionType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string>
    CameraVideoDataPaging_DirectionType_strings[3] = {};

static const char CameraVideoDataPaging_DirectionType_names[] = {
    "ASC"
    "DESC"
    "DIRECTION_TYPE_UNKNOWN"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry CameraVideoDataPaging_DirectionType_entries[] =
    {
        {{&CameraVideoDataPaging_DirectionType_names[0], 3}, 2},
        {{&CameraVideoDataPaging_DirectionType_names[3], 4}, 1},
        {{&CameraVideoDataPaging_DirectionType_names[7], 22}, 0},
};

static const int CameraVideoDataPaging_DirectionType_entries_by_number[] = {
    2,  // 0 -> DIRECTION_TYPE_UNKNOWN
    1,  // 1 -> DESC
    0,  // 2 -> ASC
};

const std::string& CameraVideoDataPaging_DirectionType_Name(CameraVideoDataPaging_DirectionType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          CameraVideoDataPaging_DirectionType_entries, CameraVideoDataPaging_DirectionType_entries_by_number,
          3, CameraVideoDataPaging_DirectionType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      CameraVideoDataPaging_DirectionType_entries, CameraVideoDataPaging_DirectionType_entries_by_number, 3,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : CameraVideoDataPaging_DirectionType_strings[idx].get();
}

bool CameraVideoDataPaging_DirectionType_Parse(absl::string_view name, CameraVideoDataPaging_DirectionType* value) {
  int int_value;
  bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
      CameraVideoDataPaging_DirectionType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<CameraVideoDataPaging_DirectionType>(int_value);
  }
  return success;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr CameraVideoDataPaging_DirectionType CameraVideoDataPaging::DIRECTION_TYPE_UNKNOWN;
constexpr CameraVideoDataPaging_DirectionType CameraVideoDataPaging::DESC;
constexpr CameraVideoDataPaging_DirectionType CameraVideoDataPaging::ASC;
constexpr CameraVideoDataPaging_DirectionType CameraVideoDataPaging::DirectionType_MIN;
constexpr CameraVideoDataPaging_DirectionType CameraVideoDataPaging::DirectionType_MAX;
constexpr int CameraVideoDataPaging::DirectionType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
bool CameraVideoDataPaging_OrderByType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string>
    CameraVideoDataPaging_OrderByType_strings[2] = {};

static const char CameraVideoDataPaging_OrderByType_names[] = {
    "CREATED_AT"
    "ORDER_BY_TYPE_UNKNOWN"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry CameraVideoDataPaging_OrderByType_entries[] =
    {
        {{&CameraVideoDataPaging_OrderByType_names[0], 10}, 1},
        {{&CameraVideoDataPaging_OrderByType_names[10], 21}, 0},
};

static const int CameraVideoDataPaging_OrderByType_entries_by_number[] = {
    1,  // 0 -> ORDER_BY_TYPE_UNKNOWN
    0,  // 1 -> CREATED_AT
};

const std::string& CameraVideoDataPaging_OrderByType_Name(CameraVideoDataPaging_OrderByType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          CameraVideoDataPaging_OrderByType_entries, CameraVideoDataPaging_OrderByType_entries_by_number,
          2, CameraVideoDataPaging_OrderByType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      CameraVideoDataPaging_OrderByType_entries, CameraVideoDataPaging_OrderByType_entries_by_number, 2,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : CameraVideoDataPaging_OrderByType_strings[idx].get();
}

bool CameraVideoDataPaging_OrderByType_Parse(absl::string_view name, CameraVideoDataPaging_OrderByType* value) {
  int int_value;
  bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
      CameraVideoDataPaging_OrderByType_entries, 2, name, &int_value);
  if (success) {
    *value = static_cast<CameraVideoDataPaging_OrderByType>(int_value);
  }
  return success;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr CameraVideoDataPaging_OrderByType CameraVideoDataPaging::ORDER_BY_TYPE_UNKNOWN;
constexpr CameraVideoDataPaging_OrderByType CameraVideoDataPaging::CREATED_AT;
constexpr CameraVideoDataPaging_OrderByType CameraVideoDataPaging::OrderByType_MIN;
constexpr CameraVideoDataPaging_OrderByType CameraVideoDataPaging::OrderByType_MAX;
constexpr int CameraVideoDataPaging::OrderByType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
// ===================================================================

class CameraVideoData_Category::_Internal {
 public:
};

CameraVideoData_Category::CameraVideoData_Category(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraVideoData.Category)
}
CameraVideoData_Category::CameraVideoData_Category(const CameraVideoData_Category& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  CameraVideoData_Category* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_) {}

    , decltype(_impl_.title_) {}

    , decltype(_impl_.id_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.type_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.type_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_type().empty()) {
    _this->_impl_.type_.Set(from._internal_type(), _this->GetArenaForAllocation());
  }
  _impl_.title_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.title_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_title().empty()) {
    _this->_impl_.title_.Set(from._internal_title(), _this->GetArenaForAllocation());
  }
  _this->_impl_.id_ = from._impl_.id_;
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraVideoData.Category)
}

inline void CameraVideoData_Category::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_) {}

    , decltype(_impl_.title_) {}

    , decltype(_impl_.id_) { 0 }

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.type_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.type_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.title_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.title_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CameraVideoData_Category::~CameraVideoData_Category() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraVideoData.Category)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraVideoData_Category::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.type_.Destroy();
  _impl_.title_.Destroy();
}

void CameraVideoData_Category::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraVideoData_Category::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraVideoData.Category)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_.ClearToEmpty();
  _impl_.title_.ClearToEmpty();
  _impl_.id_ = 0;
  _internal_metadata_.Clear<std::string>();
}

const char* CameraVideoData_Category::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string type = 2 [(.google.api.field_behavior) = REQUIRED];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_type();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string title = 3 [(.google.api.field_behavior) = REQUIRED];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_title();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraVideoData_Category::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraVideoData.Category)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        1, this->_internal_id(), target);
  }

  // string type = 2 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_type().empty()) {
    const std::string& _s = this->_internal_type();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.Category.type");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string title = 3 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_title().empty()) {
    const std::string& _s = this->_internal_title();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.Category.title");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraVideoData.Category)
  return target;
}

::size_t CameraVideoData_Category::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraVideoData.Category)
  ::size_t total_size = 0;

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

  // string type = 2 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_type().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_type());
  }

  // string title = 3 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_title().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_title());
  }

  // int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_id());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraVideoData_Category::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraVideoData_Category*>(
      &from));
}

void CameraVideoData_Category::MergeFrom(const CameraVideoData_Category& from) {
  CameraVideoData_Category* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraVideoData.Category)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_type().empty()) {
    _this->_internal_set_type(from._internal_type());
  }
  if (!from._internal_title().empty()) {
    _this->_internal_set_title(from._internal_title());
  }
  if (from._internal_id() != 0) {
    _this->_internal_set_id(from._internal_id());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraVideoData_Category::CopyFrom(const CameraVideoData_Category& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraVideoData.Category)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void CameraVideoData_Category::InternalSwap(CameraVideoData_Category* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.type_, lhs_arena,
                                       &other->_impl_.type_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, lhs_arena,
                                       &other->_impl_.title_, rhs_arena);

  swap(_impl_.id_, other->_impl_.id_);
}

std::string CameraVideoData_Category::GetTypeName() const {
  return "keyapis.vc.v1.CameraVideoData.Category";
}

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

class CameraVideoData_Location::_Internal {
 public:
};

CameraVideoData_Location::CameraVideoData_Location(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraVideoData.Location)
}
CameraVideoData_Location::CameraVideoData_Location(const CameraVideoData_Location& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(), _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<std::string>(
      from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraVideoData.Location)
}

inline void CameraVideoData_Location::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.lat_) { 0 }

    , decltype(_impl_.lng_) { 0 }

    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CameraVideoData_Location::~CameraVideoData_Location() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraVideoData.Location)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraVideoData_Location::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
}

void CameraVideoData_Location::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraVideoData_Location::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraVideoData.Location)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.lat_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.lng_) -
      reinterpret_cast<char*>(&_impl_.lat_)) + sizeof(_impl_.lng_));
  _internal_metadata_.Clear<std::string>();
}

const char* CameraVideoData_Location::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // double lat = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 9)) {
          _impl_.lat_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else {
          goto handle_unusual;
        }
        continue;
      // double lng = 2 [(.google.api.field_behavior) = REQUIRED];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 17)) {
          _impl_.lng_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraVideoData_Location::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraVideoData.Location)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // double lat = 1 [(.google.api.field_behavior) = REQUIRED];
  static_assert(sizeof(::uint64_t) == sizeof(double), "Code assumes ::uint64_t and double are the same size.");
  double tmp_lat = this->_internal_lat();
  ::uint64_t raw_lat;
  memcpy(&raw_lat, &tmp_lat, sizeof(tmp_lat));
  if (raw_lat != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        1, this->_internal_lat(), target);
  }

  // double lng = 2 [(.google.api.field_behavior) = REQUIRED];
  static_assert(sizeof(::uint64_t) == sizeof(double), "Code assumes ::uint64_t and double are the same size.");
  double tmp_lng = this->_internal_lng();
  ::uint64_t raw_lng;
  memcpy(&raw_lng, &tmp_lng, sizeof(tmp_lng));
  if (raw_lng != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        2, this->_internal_lng(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraVideoData.Location)
  return target;
}

::size_t CameraVideoData_Location::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraVideoData.Location)
  ::size_t total_size = 0;

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

  // double lat = 1 [(.google.api.field_behavior) = REQUIRED];
  static_assert(sizeof(::uint64_t) == sizeof(double), "Code assumes ::uint64_t and double are the same size.");
  double tmp_lat = this->_internal_lat();
  ::uint64_t raw_lat;
  memcpy(&raw_lat, &tmp_lat, sizeof(tmp_lat));
  if (raw_lat != 0) {
    total_size += 9;
  }

  // double lng = 2 [(.google.api.field_behavior) = REQUIRED];
  static_assert(sizeof(::uint64_t) == sizeof(double), "Code assumes ::uint64_t and double are the same size.");
  double tmp_lng = this->_internal_lng();
  ::uint64_t raw_lng;
  memcpy(&raw_lng, &tmp_lng, sizeof(tmp_lng));
  if (raw_lng != 0) {
    total_size += 9;
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraVideoData_Location::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraVideoData_Location*>(
      &from));
}

void CameraVideoData_Location::MergeFrom(const CameraVideoData_Location& from) {
  CameraVideoData_Location* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraVideoData.Location)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  static_assert(sizeof(::uint64_t) == sizeof(double), "Code assumes ::uint64_t and double are the same size.");
  double tmp_lat = from._internal_lat();
  ::uint64_t raw_lat;
  memcpy(&raw_lat, &tmp_lat, sizeof(tmp_lat));
  if (raw_lat != 0) {
    _this->_internal_set_lat(from._internal_lat());
  }
  static_assert(sizeof(::uint64_t) == sizeof(double), "Code assumes ::uint64_t and double are the same size.");
  double tmp_lng = from._internal_lng();
  ::uint64_t raw_lng;
  memcpy(&raw_lng, &tmp_lng, sizeof(tmp_lng));
  if (raw_lng != 0) {
    _this->_internal_set_lng(from._internal_lng());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraVideoData_Location::CopyFrom(const CameraVideoData_Location& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraVideoData.Location)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void CameraVideoData_Location::InternalSwap(CameraVideoData_Location* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CameraVideoData_Location, _impl_.lng_)
      + sizeof(CameraVideoData_Location::_impl_.lng_)
      - PROTOBUF_FIELD_OFFSET(CameraVideoData_Location, _impl_.lat_)>(
          reinterpret_cast<char*>(&_impl_.lat_),
          reinterpret_cast<char*>(&other->_impl_.lat_));
}

std::string CameraVideoData_Location::GetTypeName() const {
  return "keyapis.vc.v1.CameraVideoData.Location";
}

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

class CameraVideoData_Status::_Internal {
 public:
};

CameraVideoData_Status::CameraVideoData_Status(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraVideoData.Status)
}
CameraVideoData_Status::CameraVideoData_Status(const CameraVideoData_Status& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  CameraVideoData_Status* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_) {}

    , decltype(_impl_.title_) {}

    , decltype(_impl_.id_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.type_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.type_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_type().empty()) {
    _this->_impl_.type_.Set(from._internal_type(), _this->GetArenaForAllocation());
  }
  _impl_.title_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.title_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_title().empty()) {
    _this->_impl_.title_.Set(from._internal_title(), _this->GetArenaForAllocation());
  }
  _this->_impl_.id_ = from._impl_.id_;
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraVideoData.Status)
}

inline void CameraVideoData_Status::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_) {}

    , decltype(_impl_.title_) {}

    , decltype(_impl_.id_) { 0 }

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.type_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.type_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.title_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.title_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CameraVideoData_Status::~CameraVideoData_Status() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraVideoData.Status)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraVideoData_Status::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.type_.Destroy();
  _impl_.title_.Destroy();
}

void CameraVideoData_Status::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraVideoData_Status::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraVideoData.Status)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_.ClearToEmpty();
  _impl_.title_.ClearToEmpty();
  _impl_.id_ = 0;
  _internal_metadata_.Clear<std::string>();
}

const char* CameraVideoData_Status::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string type = 2 [(.google.api.field_behavior) = REQUIRED];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_type();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string title = 3 [(.google.api.field_behavior) = REQUIRED];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_title();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraVideoData_Status::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraVideoData.Status)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        1, this->_internal_id(), target);
  }

  // string type = 2 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_type().empty()) {
    const std::string& _s = this->_internal_type();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.Status.type");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string title = 3 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_title().empty()) {
    const std::string& _s = this->_internal_title();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.Status.title");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraVideoData.Status)
  return target;
}

::size_t CameraVideoData_Status::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraVideoData.Status)
  ::size_t total_size = 0;

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

  // string type = 2 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_type().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_type());
  }

  // string title = 3 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_title().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_title());
  }

  // int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_id());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraVideoData_Status::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraVideoData_Status*>(
      &from));
}

void CameraVideoData_Status::MergeFrom(const CameraVideoData_Status& from) {
  CameraVideoData_Status* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraVideoData.Status)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_type().empty()) {
    _this->_internal_set_type(from._internal_type());
  }
  if (!from._internal_title().empty()) {
    _this->_internal_set_title(from._internal_title());
  }
  if (from._internal_id() != 0) {
    _this->_internal_set_id(from._internal_id());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraVideoData_Status::CopyFrom(const CameraVideoData_Status& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraVideoData.Status)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void CameraVideoData_Status::InternalSwap(CameraVideoData_Status* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.type_, lhs_arena,
                                       &other->_impl_.type_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, lhs_arena,
                                       &other->_impl_.title_, rhs_arena);

  swap(_impl_.id_, other->_impl_.id_);
}

std::string CameraVideoData_Status::GetTypeName() const {
  return "keyapis.vc.v1.CameraVideoData.Status";
}

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

class CameraVideoData::_Internal {
 public:
  using HasBits = decltype(std::declval<CameraVideoData>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CameraVideoData, _impl_._has_bits_);
  static const ::keyapis::vc::v1::CameraVideoData_Category& category(const CameraVideoData* msg);
  static void set_has_category(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::keyapis::vc::v1::CameraVideoData_Status& status(const CameraVideoData* msg);
  static void set_has_status(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::keyapis::vc::v1::CameraVideoData_Location& location(const CameraVideoData* msg);
  static void set_has_location(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& created_at(const CameraVideoData* msg);
  static void set_has_created_at(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& updated_at(const CameraVideoData* msg);
  static void set_has_updated_at(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
};

const ::keyapis::vc::v1::CameraVideoData_Category&
CameraVideoData::_Internal::category(const CameraVideoData* msg) {
  return *msg->_impl_.category_;
}
const ::keyapis::vc::v1::CameraVideoData_Status&
CameraVideoData::_Internal::status(const CameraVideoData* msg) {
  return *msg->_impl_.status_;
}
const ::keyapis::vc::v1::CameraVideoData_Location&
CameraVideoData::_Internal::location(const CameraVideoData* msg) {
  return *msg->_impl_.location_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
CameraVideoData::_Internal::created_at(const CameraVideoData* msg) {
  return *msg->_impl_.created_at_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
CameraVideoData::_Internal::updated_at(const CameraVideoData* msg) {
  return *msg->_impl_.updated_at_;
}
void CameraVideoData::clear_created_at() {
  if (_impl_.created_at_ != nullptr) _impl_.created_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
void CameraVideoData::clear_updated_at() {
  if (_impl_.updated_at_ != nullptr) _impl_.updated_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
CameraVideoData::CameraVideoData(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraVideoData)
}
CameraVideoData::CameraVideoData(const CameraVideoData& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  CameraVideoData* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.uid_) {}

    , decltype(_impl_.title_) {}

    , decltype(_impl_.serial_number_) {}

    , decltype(_impl_.ip_) {}

    , decltype(_impl_.streamer_url_) {}

    , decltype(_impl_.mac_) {}

    , decltype(_impl_.model_) {}

    , decltype(_impl_.vendor_) {}

    , decltype(_impl_.screenshot_url_template_) {}

    , decltype(_impl_.screenshot_precise_url_template_) {}

    , decltype(_impl_.user_token_) {}

    , decltype(_impl_.streamer_token_) {}

    , decltype(_impl_.screenshot_token_) {}

    , decltype(_impl_.category_){nullptr}
    , decltype(_impl_.status_){nullptr}
    , decltype(_impl_.location_){nullptr}
    , decltype(_impl_.created_at_){nullptr}
    , decltype(_impl_.updated_at_){nullptr}
    , decltype(_impl_.archive_length_) {}

    , decltype(_impl_.utc_offset_) {}
  };

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_uid().empty()) {
    _this->_impl_.uid_.Set(from._internal_uid(), _this->GetArenaForAllocation());
  }
  _impl_.title_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.title_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_title().empty()) {
    _this->_impl_.title_.Set(from._internal_title(), _this->GetArenaForAllocation());
  }
  _impl_.serial_number_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.serial_number_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_serial_number().empty()) {
    _this->_impl_.serial_number_.Set(from._internal_serial_number(), _this->GetArenaForAllocation());
  }
  _impl_.ip_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.ip_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_ip().empty()) {
    _this->_impl_.ip_.Set(from._internal_ip(), _this->GetArenaForAllocation());
  }
  _impl_.streamer_url_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.streamer_url_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_streamer_url().empty()) {
    _this->_impl_.streamer_url_.Set(from._internal_streamer_url(), _this->GetArenaForAllocation());
  }
  _impl_.mac_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.mac_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_mac().empty()) {
    _this->_impl_.mac_.Set(from._internal_mac(), _this->GetArenaForAllocation());
  }
  _impl_.model_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.model_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_model().empty()) {
    _this->_impl_.model_.Set(from._internal_model(), _this->GetArenaForAllocation());
  }
  _impl_.vendor_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.vendor_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_vendor().empty()) {
    _this->_impl_.vendor_.Set(from._internal_vendor(), _this->GetArenaForAllocation());
  }
  _impl_.screenshot_url_template_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.screenshot_url_template_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_screenshot_url_template().empty()) {
    _this->_impl_.screenshot_url_template_.Set(from._internal_screenshot_url_template(), _this->GetArenaForAllocation());
  }
  _impl_.screenshot_precise_url_template_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.screenshot_precise_url_template_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_screenshot_precise_url_template().empty()) {
    _this->_impl_.screenshot_precise_url_template_.Set(from._internal_screenshot_precise_url_template(), _this->GetArenaForAllocation());
  }
  _impl_.user_token_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.user_token_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_user_token().empty()) {
    _this->_impl_.user_token_.Set(from._internal_user_token(), _this->GetArenaForAllocation());
  }
  _impl_.streamer_token_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.streamer_token_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_streamer_token().empty()) {
    _this->_impl_.streamer_token_.Set(from._internal_streamer_token(), _this->GetArenaForAllocation());
  }
  _impl_.screenshot_token_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.screenshot_token_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_screenshot_token().empty()) {
    _this->_impl_.screenshot_token_.Set(from._internal_screenshot_token(), _this->GetArenaForAllocation());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.category_ = new ::keyapis::vc::v1::CameraVideoData_Category(*from._impl_.category_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.status_ = new ::keyapis::vc::v1::CameraVideoData_Status(*from._impl_.status_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000004u) != 0) {
    _this->_impl_.location_ = new ::keyapis::vc::v1::CameraVideoData_Location(*from._impl_.location_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000008u) != 0) {
    _this->_impl_.created_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.created_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000010u) != 0) {
    _this->_impl_.updated_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.updated_at_);
  }
  ::memcpy(&_impl_.archive_length_, &from._impl_.archive_length_,
    static_cast<::size_t>(reinterpret_cast<char*>(&_impl_.utc_offset_) -
    reinterpret_cast<char*>(&_impl_.archive_length_)) + sizeof(_impl_.utc_offset_));
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraVideoData)
}

inline void CameraVideoData::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.uid_) {}

    , decltype(_impl_.title_) {}

    , decltype(_impl_.serial_number_) {}

    , decltype(_impl_.ip_) {}

    , decltype(_impl_.streamer_url_) {}

    , decltype(_impl_.mac_) {}

    , decltype(_impl_.model_) {}

    , decltype(_impl_.vendor_) {}

    , decltype(_impl_.screenshot_url_template_) {}

    , decltype(_impl_.screenshot_precise_url_template_) {}

    , decltype(_impl_.user_token_) {}

    , decltype(_impl_.streamer_token_) {}

    , decltype(_impl_.screenshot_token_) {}

    , decltype(_impl_.category_){nullptr}
    , decltype(_impl_.status_){nullptr}
    , decltype(_impl_.location_){nullptr}
    , decltype(_impl_.created_at_){nullptr}
    , decltype(_impl_.updated_at_){nullptr}
    , decltype(_impl_.archive_length_) { 0 }

    , decltype(_impl_.utc_offset_) { 0 }

  };
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.title_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.title_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.serial_number_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.serial_number_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.ip_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.ip_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.streamer_url_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.streamer_url_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.mac_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.mac_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.model_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.model_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.vendor_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.vendor_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.screenshot_url_template_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.screenshot_url_template_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.screenshot_precise_url_template_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.screenshot_precise_url_template_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.user_token_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.user_token_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.streamer_token_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.streamer_token_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.screenshot_token_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.screenshot_token_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CameraVideoData::~CameraVideoData() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraVideoData)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraVideoData::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.uid_.Destroy();
  _impl_.title_.Destroy();
  _impl_.serial_number_.Destroy();
  _impl_.ip_.Destroy();
  _impl_.streamer_url_.Destroy();
  _impl_.mac_.Destroy();
  _impl_.model_.Destroy();
  _impl_.vendor_.Destroy();
  _impl_.screenshot_url_template_.Destroy();
  _impl_.screenshot_precise_url_template_.Destroy();
  _impl_.user_token_.Destroy();
  _impl_.streamer_token_.Destroy();
  _impl_.screenshot_token_.Destroy();
  if (this != internal_default_instance()) delete _impl_.category_;
  if (this != internal_default_instance()) delete _impl_.status_;
  if (this != internal_default_instance()) delete _impl_.location_;
  if (this != internal_default_instance()) delete _impl_.created_at_;
  if (this != internal_default_instance()) delete _impl_.updated_at_;
}

void CameraVideoData::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraVideoData::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraVideoData)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.uid_.ClearToEmpty();
  _impl_.title_.ClearToEmpty();
  _impl_.serial_number_.ClearToEmpty();
  _impl_.ip_.ClearToEmpty();
  _impl_.streamer_url_.ClearToEmpty();
  _impl_.mac_.ClearToEmpty();
  _impl_.model_.ClearToEmpty();
  _impl_.vendor_.ClearToEmpty();
  _impl_.screenshot_url_template_.ClearToEmpty();
  _impl_.screenshot_precise_url_template_.ClearToEmpty();
  _impl_.user_token_.ClearToEmpty();
  _impl_.streamer_token_.ClearToEmpty();
  _impl_.screenshot_token_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.category_ != nullptr);
      _impl_.category_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.status_ != nullptr);
      _impl_.status_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.location_ != nullptr);
      _impl_.location_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.created_at_ != nullptr);
      _impl_.created_at_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.updated_at_ != nullptr);
      _impl_.updated_at_->Clear();
    }
  }
  ::memset(&_impl_.archive_length_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.utc_offset_) -
      reinterpret_cast<char*>(&_impl_.archive_length_)) + sizeof(_impl_.utc_offset_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* CameraVideoData::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_uid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraVideoData.Category category = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_category(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string title = 3 [(.google.api.field_behavior) = REQUIRED];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_title();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string serial_number = 4 [(.google.api.field_behavior) = REQUIRED];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_serial_number();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string ip = 5 [(.google.api.field_behavior) = REQUIRED];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 42)) {
          auto str = _internal_mutable_ip();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string streamer_url = 6 [(.google.api.field_behavior) = REQUIRED];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_streamer_url();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string mac = 7 [(.google.api.field_behavior) = REQUIRED];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 58)) {
          auto str = _internal_mutable_mac();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string model = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 66)) {
          auto str = _internal_mutable_model();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string vendor = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 74)) {
          auto str = _internal_mutable_vendor();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraVideoData.Status status = 10 [(.google.api.field_behavior) = REQUIRED];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_status(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string screenshot_url_template = 11 [(.google.api.field_behavior) = REQUIRED];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 90)) {
          auto str = _internal_mutable_screenshot_url_template();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string screenshot_precise_url_template = 12 [(.google.api.field_behavior) = REQUIRED];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 98)) {
          auto str = _internal_mutable_screenshot_precise_url_template();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string user_token = 13 [(.google.api.field_behavior) = REQUIRED];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 106)) {
          auto str = _internal_mutable_user_token();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string streamer_token = 14 [(.google.api.field_behavior) = REQUIRED];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 114)) {
          auto str = _internal_mutable_streamer_token();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string screenshot_token = 15 [(.google.api.field_behavior) = REQUIRED];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 122)) {
          auto str = _internal_mutable_screenshot_token();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 archive_length = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 128)) {
          _impl_.archive_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraVideoData.Location location = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 138)) {
          ptr = ctx->ParseMessage(_internal_mutable_location(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp created_at = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_created_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp updated_at = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_updated_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 utc_offset = 20;
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 160)) {
          _impl_.utc_offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraVideoData::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraVideoData)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_uid().empty()) {
    const std::string& _s = this->_internal_uid();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.uid");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.CameraVideoData.Category category = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::category(this),
        _Internal::category(this).GetCachedSize(), target, stream);
  }

  // string title = 3 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_title().empty()) {
    const std::string& _s = this->_internal_title();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.title");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string serial_number = 4 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_serial_number().empty()) {
    const std::string& _s = this->_internal_serial_number();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.serial_number");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // string ip = 5 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_ip().empty()) {
    const std::string& _s = this->_internal_ip();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.ip");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // string streamer_url = 6 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_streamer_url().empty()) {
    const std::string& _s = this->_internal_streamer_url();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.streamer_url");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // string mac = 7 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_mac().empty()) {
    const std::string& _s = this->_internal_mac();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.mac");
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  // string model = 8;
  if (!this->_internal_model().empty()) {
    const std::string& _s = this->_internal_model();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.model");
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // string vendor = 9;
  if (!this->_internal_vendor().empty()) {
    const std::string& _s = this->_internal_vendor();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.vendor");
    target = stream->WriteStringMaybeAliased(9, _s, target);
  }

  // .keyapis.vc.v1.CameraVideoData.Status status = 10 [(.google.api.field_behavior) = REQUIRED];
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, _Internal::status(this),
        _Internal::status(this).GetCachedSize(), target, stream);
  }

  // string screenshot_url_template = 11 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_screenshot_url_template().empty()) {
    const std::string& _s = this->_internal_screenshot_url_template();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.screenshot_url_template");
    target = stream->WriteStringMaybeAliased(11, _s, target);
  }

  // string screenshot_precise_url_template = 12 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_screenshot_precise_url_template().empty()) {
    const std::string& _s = this->_internal_screenshot_precise_url_template();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.screenshot_precise_url_template");
    target = stream->WriteStringMaybeAliased(12, _s, target);
  }

  // string user_token = 13 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_user_token().empty()) {
    const std::string& _s = this->_internal_user_token();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.user_token");
    target = stream->WriteStringMaybeAliased(13, _s, target);
  }

  // string streamer_token = 14 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_streamer_token().empty()) {
    const std::string& _s = this->_internal_streamer_token();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.streamer_token");
    target = stream->WriteStringMaybeAliased(14, _s, target);
  }

  // string screenshot_token = 15 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_screenshot_token().empty()) {
    const std::string& _s = this->_internal_screenshot_token();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoData.screenshot_token");
    target = stream->WriteStringMaybeAliased(15, _s, target);
  }

  // int32 archive_length = 16;
  if (this->_internal_archive_length() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        16, this->_internal_archive_length(), target);
  }

  // .keyapis.vc.v1.CameraVideoData.Location location = 17;
  if (cached_has_bits & 0x00000004u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(17, _Internal::location(this),
        _Internal::location(this).GetCachedSize(), target, stream);
  }

  // .google.protobuf.Timestamp created_at = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (cached_has_bits & 0x00000008u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(18, _Internal::created_at(this),
        _Internal::created_at(this).GetCachedSize(), target, stream);
  }

  // .google.protobuf.Timestamp updated_at = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (cached_has_bits & 0x00000010u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(19, _Internal::updated_at(this),
        _Internal::updated_at(this).GetCachedSize(), target, stream);
  }

  // int32 utc_offset = 20;
  if (this->_internal_utc_offset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        20, this->_internal_utc_offset(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraVideoData)
  return target;
}

::size_t CameraVideoData::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraVideoData)
  ::size_t total_size = 0;

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

  // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_uid().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_uid());
  }

  // string title = 3 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_title().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_title());
  }

  // string serial_number = 4 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_serial_number().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_serial_number());
  }

  // string ip = 5 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_ip().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_ip());
  }

  // string streamer_url = 6 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_streamer_url().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_streamer_url());
  }

  // string mac = 7 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_mac().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_mac());
  }

  // string model = 8;
  if (!this->_internal_model().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_model());
  }

  // string vendor = 9;
  if (!this->_internal_vendor().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_vendor());
  }

  // string screenshot_url_template = 11 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_screenshot_url_template().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_screenshot_url_template());
  }

  // string screenshot_precise_url_template = 12 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_screenshot_precise_url_template().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_screenshot_precise_url_template());
  }

  // string user_token = 13 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_user_token().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_user_token());
  }

  // string streamer_token = 14 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_streamer_token().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_streamer_token());
  }

  // string screenshot_token = 15 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_screenshot_token().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_screenshot_token());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    // .keyapis.vc.v1.CameraVideoData.Category category = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.category_);
    }

    // .keyapis.vc.v1.CameraVideoData.Status status = 10 [(.google.api.field_behavior) = REQUIRED];
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.status_);
    }

    // .keyapis.vc.v1.CameraVideoData.Location location = 17;
    if (cached_has_bits & 0x00000004u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.location_);
    }

    // .google.protobuf.Timestamp created_at = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
    if (cached_has_bits & 0x00000008u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.created_at_);
    }

    // .google.protobuf.Timestamp updated_at = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
    if (cached_has_bits & 0x00000010u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.updated_at_);
    }

  }
  // int32 archive_length = 16;
  if (this->_internal_archive_length() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_archive_length());
  }

  // int32 utc_offset = 20;
  if (this->_internal_utc_offset() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_utc_offset());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraVideoData::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraVideoData*>(
      &from));
}

void CameraVideoData::MergeFrom(const CameraVideoData& from) {
  CameraVideoData* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraVideoData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_uid().empty()) {
    _this->_internal_set_uid(from._internal_uid());
  }
  if (!from._internal_title().empty()) {
    _this->_internal_set_title(from._internal_title());
  }
  if (!from._internal_serial_number().empty()) {
    _this->_internal_set_serial_number(from._internal_serial_number());
  }
  if (!from._internal_ip().empty()) {
    _this->_internal_set_ip(from._internal_ip());
  }
  if (!from._internal_streamer_url().empty()) {
    _this->_internal_set_streamer_url(from._internal_streamer_url());
  }
  if (!from._internal_mac().empty()) {
    _this->_internal_set_mac(from._internal_mac());
  }
  if (!from._internal_model().empty()) {
    _this->_internal_set_model(from._internal_model());
  }
  if (!from._internal_vendor().empty()) {
    _this->_internal_set_vendor(from._internal_vendor());
  }
  if (!from._internal_screenshot_url_template().empty()) {
    _this->_internal_set_screenshot_url_template(from._internal_screenshot_url_template());
  }
  if (!from._internal_screenshot_precise_url_template().empty()) {
    _this->_internal_set_screenshot_precise_url_template(from._internal_screenshot_precise_url_template());
  }
  if (!from._internal_user_token().empty()) {
    _this->_internal_set_user_token(from._internal_user_token());
  }
  if (!from._internal_streamer_token().empty()) {
    _this->_internal_set_streamer_token(from._internal_streamer_token());
  }
  if (!from._internal_screenshot_token().empty()) {
    _this->_internal_set_screenshot_token(from._internal_screenshot_token());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_category()->::keyapis::vc::v1::CameraVideoData_Category::MergeFrom(
          from._internal_category());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_status()->::keyapis::vc::v1::CameraVideoData_Status::MergeFrom(
          from._internal_status());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_location()->::keyapis::vc::v1::CameraVideoData_Location::MergeFrom(
          from._internal_location());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_created_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_created_at());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_updated_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_updated_at());
    }
  }
  if (from._internal_archive_length() != 0) {
    _this->_internal_set_archive_length(from._internal_archive_length());
  }
  if (from._internal_utc_offset() != 0) {
    _this->_internal_set_utc_offset(from._internal_utc_offset());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraVideoData::CopyFrom(const CameraVideoData& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraVideoData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void CameraVideoData::InternalSwap(CameraVideoData* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.uid_, lhs_arena,
                                       &other->_impl_.uid_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, lhs_arena,
                                       &other->_impl_.title_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.serial_number_, lhs_arena,
                                       &other->_impl_.serial_number_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ip_, lhs_arena,
                                       &other->_impl_.ip_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.streamer_url_, lhs_arena,
                                       &other->_impl_.streamer_url_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.mac_, lhs_arena,
                                       &other->_impl_.mac_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.model_, lhs_arena,
                                       &other->_impl_.model_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.vendor_, lhs_arena,
                                       &other->_impl_.vendor_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.screenshot_url_template_, lhs_arena,
                                       &other->_impl_.screenshot_url_template_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.screenshot_precise_url_template_, lhs_arena,
                                       &other->_impl_.screenshot_precise_url_template_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.user_token_, lhs_arena,
                                       &other->_impl_.user_token_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.streamer_token_, lhs_arena,
                                       &other->_impl_.streamer_token_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.screenshot_token_, lhs_arena,
                                       &other->_impl_.screenshot_token_, rhs_arena);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CameraVideoData, _impl_.utc_offset_)
      + sizeof(CameraVideoData::_impl_.utc_offset_)
      - PROTOBUF_FIELD_OFFSET(CameraVideoData, _impl_.category_)>(
          reinterpret_cast<char*>(&_impl_.category_),
          reinterpret_cast<char*>(&other->_impl_.category_));
}

std::string CameraVideoData::GetTypeName() const {
  return "keyapis.vc.v1.CameraVideoData";
}

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

class CameraVideoDataFilter::_Internal {
 public:
};

CameraVideoDataFilter::CameraVideoDataFilter(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraVideoDataFilter)
}
CameraVideoDataFilter::CameraVideoDataFilter(const CameraVideoDataFilter& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  CameraVideoDataFilter* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.uids_){from._impl_.uids_}
    , decltype(_impl_.title_){from._impl_.title_}
    , decltype(_impl_.mac_){from._impl_.mac_}
    , decltype(_impl_.ip_){from._impl_.ip_}
    , decltype(_impl_.serial_number_){from._impl_.serial_number_}
    , decltype(_impl_.category_){from._impl_.category_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraVideoDataFilter)
}

inline void CameraVideoDataFilter::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.uids_){arena}
    , decltype(_impl_.title_){arena}
    , decltype(_impl_.mac_){arena}
    , decltype(_impl_.ip_){arena}
    , decltype(_impl_.serial_number_){arena}
    , decltype(_impl_.category_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CameraVideoDataFilter::~CameraVideoDataFilter() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraVideoDataFilter)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraVideoDataFilter::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_uids()->~RepeatedPtrField();
  _internal_mutable_title()->~RepeatedPtrField();
  _internal_mutable_mac()->~RepeatedPtrField();
  _internal_mutable_ip()->~RepeatedPtrField();
  _internal_mutable_serial_number()->~RepeatedPtrField();
  _internal_mutable_category()->~RepeatedPtrField();
}

void CameraVideoDataFilter::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraVideoDataFilter::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraVideoDataFilter)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_mutable_uids()->Clear();
  _internal_mutable_title()->Clear();
  _internal_mutable_mac()->Clear();
  _internal_mutable_ip()->Clear();
  _internal_mutable_serial_number()->Clear();
  _internal_mutable_category()->Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* CameraVideoDataFilter::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated string uids = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_uids();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string title = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_title();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string mac = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_mac();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string ip = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_ip();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string serial_number = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_serial_number();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string category = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_category();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraVideoDataFilter::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraVideoDataFilter)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated string uids = 1;
  for (int i = 0, n = this->_internal_uids_size(); i < n; ++i) {
    const auto& s = this->_internal_uids(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoDataFilter.uids");
    target = stream->WriteString(1, s, target);
  }

  // repeated string title = 2;
  for (int i = 0, n = this->_internal_title_size(); i < n; ++i) {
    const auto& s = this->_internal_title(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoDataFilter.title");
    target = stream->WriteString(2, s, target);
  }

  // repeated string mac = 3;
  for (int i = 0, n = this->_internal_mac_size(); i < n; ++i) {
    const auto& s = this->_internal_mac(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoDataFilter.mac");
    target = stream->WriteString(3, s, target);
  }

  // repeated string ip = 4;
  for (int i = 0, n = this->_internal_ip_size(); i < n; ++i) {
    const auto& s = this->_internal_ip(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoDataFilter.ip");
    target = stream->WriteString(4, s, target);
  }

  // repeated string serial_number = 5;
  for (int i = 0, n = this->_internal_serial_number_size(); i < n; ++i) {
    const auto& s = this->_internal_serial_number(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoDataFilter.serial_number");
    target = stream->WriteString(5, s, target);
  }

  // repeated string category = 6;
  for (int i = 0, n = this->_internal_category_size(); i < n; ++i) {
    const auto& s = this->_internal_category(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraVideoDataFilter.category");
    target = stream->WriteString(6, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraVideoDataFilter)
  return target;
}

::size_t CameraVideoDataFilter::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraVideoDataFilter)
  ::size_t total_size = 0;

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

  // repeated string uids = 1;
  total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_internal_uids().size());
  for (int i = 0, n = _internal_uids().size(); i < n; ++i) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        _internal_uids().Get(i));
  }

  // repeated string title = 2;
  total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_internal_title().size());
  for (int i = 0, n = _internal_title().size(); i < n; ++i) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        _internal_title().Get(i));
  }

  // repeated string mac = 3;
  total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_internal_mac().size());
  for (int i = 0, n = _internal_mac().size(); i < n; ++i) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        _internal_mac().Get(i));
  }

  // repeated string ip = 4;
  total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_internal_ip().size());
  for (int i = 0, n = _internal_ip().size(); i < n; ++i) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        _internal_ip().Get(i));
  }

  // repeated string serial_number = 5;
  total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_internal_serial_number().size());
  for (int i = 0, n = _internal_serial_number().size(); i < n; ++i) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        _internal_serial_number().Get(i));
  }

  // repeated string category = 6;
  total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_internal_category().size());
  for (int i = 0, n = _internal_category().size(); i < n; ++i) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        _internal_category().Get(i));
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraVideoDataFilter::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraVideoDataFilter*>(
      &from));
}

void CameraVideoDataFilter::MergeFrom(const CameraVideoDataFilter& from) {
  CameraVideoDataFilter* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraVideoDataFilter)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_uids()->MergeFrom(from._internal_uids());
  _this->_internal_mutable_title()->MergeFrom(from._internal_title());
  _this->_internal_mutable_mac()->MergeFrom(from._internal_mac());
  _this->_internal_mutable_ip()->MergeFrom(from._internal_ip());
  _this->_internal_mutable_serial_number()->MergeFrom(from._internal_serial_number());
  _this->_internal_mutable_category()->MergeFrom(from._internal_category());
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraVideoDataFilter::CopyFrom(const CameraVideoDataFilter& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraVideoDataFilter)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void CameraVideoDataFilter::InternalSwap(CameraVideoDataFilter* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _internal_mutable_uids()->InternalSwap(
      other->_internal_mutable_uids());
  _internal_mutable_title()->InternalSwap(
      other->_internal_mutable_title());
  _internal_mutable_mac()->InternalSwap(
      other->_internal_mutable_mac());
  _internal_mutable_ip()->InternalSwap(
      other->_internal_mutable_ip());
  _internal_mutable_serial_number()->InternalSwap(
      other->_internal_mutable_serial_number());
  _internal_mutable_category()->InternalSwap(
      other->_internal_mutable_category());
}

std::string CameraVideoDataFilter::GetTypeName() const {
  return "keyapis.vc.v1.CameraVideoDataFilter";
}

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

class CameraVideoDataPaging::_Internal {
 public:
};

CameraVideoDataPaging::CameraVideoDataPaging(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraVideoDataPaging)
}
CameraVideoDataPaging::CameraVideoDataPaging(const CameraVideoDataPaging& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(), _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<std::string>(
      from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraVideoDataPaging)
}

inline void CameraVideoDataPaging::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.order_by_type_) { 0 }

    , decltype(_impl_.direction_type_) { 0 }

    , decltype(_impl_.limit_) { 0 }

    , decltype(_impl_.offset_) { 0 }

    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CameraVideoDataPaging::~CameraVideoDataPaging() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraVideoDataPaging)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraVideoDataPaging::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
}

void CameraVideoDataPaging::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraVideoDataPaging::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraVideoDataPaging)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.order_by_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.offset_) -
      reinterpret_cast<char*>(&_impl_.order_by_type_)) + sizeof(_impl_.offset_));
  _internal_metadata_.Clear<std::string>();
}

const char* CameraVideoDataPaging::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraVideoDataPaging.OrderByType order_by_type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_order_by_type(static_cast<::keyapis::vc::v1::CameraVideoDataPaging_OrderByType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraVideoDataPaging.DirectionType direction_type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_direction_type(static_cast<::keyapis::vc::v1::CameraVideoDataPaging_DirectionType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 limit = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 24)) {
          _impl_.limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 offset = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 32)) {
          _impl_.offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraVideoDataPaging::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraVideoDataPaging)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.CameraVideoDataPaging.OrderByType order_by_type = 1;
  if (this->_internal_order_by_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_order_by_type(), target);
  }

  // .keyapis.vc.v1.CameraVideoDataPaging.DirectionType direction_type = 2;
  if (this->_internal_direction_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_direction_type(), target);
  }

  // int32 limit = 3;
  if (this->_internal_limit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        3, this->_internal_limit(), target);
  }

  // int32 offset = 4;
  if (this->_internal_offset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        4, this->_internal_offset(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraVideoDataPaging)
  return target;
}

::size_t CameraVideoDataPaging::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraVideoDataPaging)
  ::size_t total_size = 0;

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

  // .keyapis.vc.v1.CameraVideoDataPaging.OrderByType order_by_type = 1;
  if (this->_internal_order_by_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_order_by_type());
  }

  // .keyapis.vc.v1.CameraVideoDataPaging.DirectionType direction_type = 2;
  if (this->_internal_direction_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_direction_type());
  }

  // int32 limit = 3;
  if (this->_internal_limit() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_limit());
  }

  // int32 offset = 4;
  if (this->_internal_offset() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_offset());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraVideoDataPaging::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraVideoDataPaging*>(
      &from));
}

void CameraVideoDataPaging::MergeFrom(const CameraVideoDataPaging& from) {
  CameraVideoDataPaging* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraVideoDataPaging)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_order_by_type() != 0) {
    _this->_internal_set_order_by_type(from._internal_order_by_type());
  }
  if (from._internal_direction_type() != 0) {
    _this->_internal_set_direction_type(from._internal_direction_type());
  }
  if (from._internal_limit() != 0) {
    _this->_internal_set_limit(from._internal_limit());
  }
  if (from._internal_offset() != 0) {
    _this->_internal_set_offset(from._internal_offset());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraVideoDataPaging::CopyFrom(const CameraVideoDataPaging& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraVideoDataPaging)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void CameraVideoDataPaging::InternalSwap(CameraVideoDataPaging* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CameraVideoDataPaging, _impl_.offset_)
      + sizeof(CameraVideoDataPaging::_impl_.offset_)
      - PROTOBUF_FIELD_OFFSET(CameraVideoDataPaging, _impl_.order_by_type_)>(
          reinterpret_cast<char*>(&_impl_.order_by_type_),
          reinterpret_cast<char*>(&other->_impl_.order_by_type_));
}

std::string CameraVideoDataPaging::GetTypeName() const {
  return "keyapis.vc.v1.CameraVideoDataPaging";
}

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

class CameraVideoDataScope::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::CameraVideoDataScope, _impl_._oneof_case_);
};

CameraVideoDataScope::CameraVideoDataScope(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraVideoDataScope)
}
CameraVideoDataScope::CameraVideoDataScope(const CameraVideoDataScope& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  CameraVideoDataScope* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.scope_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_scope();
  switch (from.scope_case()) {
    case kCompanyId: {
      _this->_internal_set_company_id(from._internal_company_id());
      break;
    }
    case kUserId: {
      _this->_internal_set_user_id(from._internal_user_id());
      break;
    }
    case SCOPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraVideoDataScope)
}

inline void CameraVideoDataScope::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.scope_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_scope();
}

CameraVideoDataScope::~CameraVideoDataScope() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraVideoDataScope)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraVideoDataScope::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_scope()) {
    clear_scope();
  }
}

void CameraVideoDataScope::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraVideoDataScope::clear_scope() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.CameraVideoDataScope)
  switch (scope_case()) {
    case kCompanyId: {
      // No need to clear
      break;
    }
    case kUserId: {
      // No need to clear
      break;
    }
    case SCOPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = SCOPE_NOT_SET;
}


void CameraVideoDataScope::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraVideoDataScope)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_scope();
  _internal_metadata_.Clear<std::string>();
}

const char* CameraVideoDataScope::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int64 company_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _internal_set_company_id(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 user_id = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          _internal_set_user_id(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraVideoDataScope::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraVideoDataScope)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (scope_case()) {
    case kCompanyId: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt64ToArray(
          1, this->_internal_company_id(), target);
      break;
    }
    case kUserId: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt32ToArray(
          2, this->_internal_user_id(), target);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraVideoDataScope)
  return target;
}

::size_t CameraVideoDataScope::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraVideoDataScope)
  ::size_t total_size = 0;

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

  switch (scope_case()) {
    // int64 company_id = 1;
    case kCompanyId: {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this->_internal_company_id());
      break;
    }
    // int32 user_id = 2;
    case kUserId: {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this->_internal_user_id());
      break;
    }
    case SCOPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraVideoDataScope::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraVideoDataScope*>(
      &from));
}

void CameraVideoDataScope::MergeFrom(const CameraVideoDataScope& from) {
  CameraVideoDataScope* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraVideoDataScope)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.scope_case()) {
    case kCompanyId: {
      _this->_internal_set_company_id(from._internal_company_id());
      break;
    }
    case kUserId: {
      _this->_internal_set_user_id(from._internal_user_id());
      break;
    }
    case SCOPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraVideoDataScope::CopyFrom(const CameraVideoDataScope& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraVideoDataScope)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void CameraVideoDataScope::InternalSwap(CameraVideoDataScope* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.scope_, other->_impl_.scope_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string CameraVideoDataScope::GetTypeName() const {
  return "keyapis.vc.v1.CameraVideoDataScope";
}

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

class GetCameraVideoDataCountRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCameraVideoDataCountRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetCameraVideoDataCountRequest, _impl_._has_bits_);
  static const ::keyapis::vc::v1::CameraVideoDataScope& scope(const GetCameraVideoDataCountRequest* msg);
  static void set_has_scope(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::keyapis::vc::v1::CameraVideoDataFilter& filter(const GetCameraVideoDataCountRequest* msg);
  static void set_has_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::keyapis::vc::v1::CameraVideoDataScope&
GetCameraVideoDataCountRequest::_Internal::scope(const GetCameraVideoDataCountRequest* msg) {
  return *msg->_impl_.scope_;
}
const ::keyapis::vc::v1::CameraVideoDataFilter&
GetCameraVideoDataCountRequest::_Internal::filter(const GetCameraVideoDataCountRequest* msg) {
  return *msg->_impl_.filter_;
}
GetCameraVideoDataCountRequest::GetCameraVideoDataCountRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraVideoDataCountRequest)
}
GetCameraVideoDataCountRequest::GetCameraVideoDataCountRequest(const GetCameraVideoDataCountRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraVideoDataCountRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.scope_){nullptr}
    , decltype(_impl_.filter_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.scope_ = new ::keyapis::vc::v1::CameraVideoDataScope(*from._impl_.scope_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.filter_ = new ::keyapis::vc::v1::CameraVideoDataFilter(*from._impl_.filter_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraVideoDataCountRequest)
}

inline void GetCameraVideoDataCountRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.scope_){nullptr}
    , decltype(_impl_.filter_){nullptr}
  };
}

GetCameraVideoDataCountRequest::~GetCameraVideoDataCountRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraVideoDataCountRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraVideoDataCountRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.scope_;
  if (this != internal_default_instance()) delete _impl_.filter_;
}

void GetCameraVideoDataCountRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraVideoDataCountRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraVideoDataCountRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.scope_ != nullptr);
      _impl_.scope_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.filter_ != nullptr);
      _impl_.filter_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraVideoDataCountRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraVideoDataScope scope = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_scope(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraVideoDataFilter filter = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_filter(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraVideoDataCountRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraVideoDataCountRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.CameraVideoDataScope scope = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::scope(this),
        _Internal::scope(this).GetCachedSize(), target, stream);
  }

  // .keyapis.vc.v1.CameraVideoDataFilter filter = 2;
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::filter(this),
        _Internal::filter(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraVideoDataCountRequest)
  return target;
}

::size_t GetCameraVideoDataCountRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraVideoDataCountRequest)
  ::size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .keyapis.vc.v1.CameraVideoDataScope scope = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.scope_);
    }

    // .keyapis.vc.v1.CameraVideoDataFilter filter = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.filter_);
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraVideoDataCountRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraVideoDataCountRequest*>(
      &from));
}

void GetCameraVideoDataCountRequest::MergeFrom(const GetCameraVideoDataCountRequest& from) {
  GetCameraVideoDataCountRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraVideoDataCountRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_scope()->::keyapis::vc::v1::CameraVideoDataScope::MergeFrom(
          from._internal_scope());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_filter()->::keyapis::vc::v1::CameraVideoDataFilter::MergeFrom(
          from._internal_filter());
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraVideoDataCountRequest::CopyFrom(const GetCameraVideoDataCountRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraVideoDataCountRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetCameraVideoDataCountRequest::InternalSwap(GetCameraVideoDataCountRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetCameraVideoDataCountRequest, _impl_.filter_)
      + sizeof(GetCameraVideoDataCountRequest::_impl_.filter_)
      - PROTOBUF_FIELD_OFFSET(GetCameraVideoDataCountRequest, _impl_.scope_)>(
          reinterpret_cast<char*>(&_impl_.scope_),
          reinterpret_cast<char*>(&other->_impl_.scope_));
}

std::string GetCameraVideoDataCountRequest::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraVideoDataCountRequest";
}

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

class GetCameraVideoDataCountResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const GetCameraVideoDataCountResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
GetCameraVideoDataCountResponse_Error::_Internal::validation(const GetCameraVideoDataCountResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void GetCameraVideoDataCountResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(validation));
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error.validation)
}
void GetCameraVideoDataCountResponse_Error::clear_validation() {
  if (reason_case() == kValidation) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.validation_;
    }
    clear_has_reason();
  }
}
GetCameraVideoDataCountResponse_Error::GetCameraVideoDataCountResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
}
GetCameraVideoDataCountResponse_Error::GetCameraVideoDataCountResponse_Error(const GetCameraVideoDataCountResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraVideoDataCountResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
}

inline void GetCameraVideoDataCountResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

GetCameraVideoDataCountResponse_Error::~GetCameraVideoDataCountResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraVideoDataCountResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void GetCameraVideoDataCountResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraVideoDataCountResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void GetCameraVideoDataCountResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_reason();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraVideoDataCountResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraVideoDataCountResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
  return target;
}

::size_t GetCameraVideoDataCountResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraVideoDataCountResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraVideoDataCountResponse_Error*>(
      &from));
}

void GetCameraVideoDataCountResponse_Error::MergeFrom(const GetCameraVideoDataCountResponse_Error& from) {
  GetCameraVideoDataCountResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraVideoDataCountResponse_Error::CopyFrom(const GetCameraVideoDataCountResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetCameraVideoDataCountResponse_Error::InternalSwap(GetCameraVideoDataCountResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraVideoDataCountResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraVideoDataCountResponse.Error";
}

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

class GetCameraVideoDataCountResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraVideoDataCountResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error& error(const GetCameraVideoDataCountResponse* msg);
};

const ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error&
GetCameraVideoDataCountResponse::_Internal::error(const GetCameraVideoDataCountResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetCameraVideoDataCountResponse::set_allocated_error(::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraVideoDataCountResponse.error)
}
GetCameraVideoDataCountResponse::GetCameraVideoDataCountResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraVideoDataCountResponse)
}
GetCameraVideoDataCountResponse::GetCameraVideoDataCountResponse(const GetCameraVideoDataCountResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraVideoDataCountResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_set_data(from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraVideoDataCountResponse)
}

inline void GetCameraVideoDataCountResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetCameraVideoDataCountResponse::~GetCameraVideoDataCountResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraVideoDataCountResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraVideoDataCountResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void GetCameraVideoDataCountResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraVideoDataCountResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraVideoDataCountResponse)
  switch (type_case()) {
    case kData: {
      // No need to clear
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetCameraVideoDataCountResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraVideoDataCountResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_type();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraVideoDataCountResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _internal_set_data(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraVideoDataCountResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraVideoDataCountResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraVideoDataCountResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (type_case()) {
    case kData: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt32ToArray(
          1, this->_internal_data(), target);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraVideoDataCountResponse)
  return target;
}

::size_t GetCameraVideoDataCountResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraVideoDataCountResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // int32 data = 1;
    case kData: {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this->_internal_data());
      break;
    }
    // .keyapis.vc.v1.GetCameraVideoDataCountResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraVideoDataCountResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraVideoDataCountResponse*>(
      &from));
}

void GetCameraVideoDataCountResponse::MergeFrom(const GetCameraVideoDataCountResponse& from) {
  GetCameraVideoDataCountResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraVideoDataCountResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_set_data(from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraVideoDataCountResponse::CopyFrom(const GetCameraVideoDataCountResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraVideoDataCountResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetCameraVideoDataCountResponse::InternalSwap(GetCameraVideoDataCountResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraVideoDataCountResponse::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraVideoDataCountResponse";
}

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

class GetCameraVideoDataListRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCameraVideoDataListRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetCameraVideoDataListRequest, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraVideoDataListRequest, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::CameraVideoDataScope& scope(const GetCameraVideoDataListRequest* msg);
  static void set_has_scope(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::keyapis::vc::v1::CameraVideoDataFilter& filter(const GetCameraVideoDataListRequest* msg);
  static void set_has_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::keyapis::vc::v1::CameraVideoDataPaging& paging(const GetCameraVideoDataListRequest* msg);
};

const ::keyapis::vc::v1::CameraVideoDataScope&
GetCameraVideoDataListRequest::_Internal::scope(const GetCameraVideoDataListRequest* msg) {
  return *msg->_impl_.scope_;
}
const ::keyapis::vc::v1::CameraVideoDataFilter&
GetCameraVideoDataListRequest::_Internal::filter(const GetCameraVideoDataListRequest* msg) {
  return *msg->_impl_.filter_;
}
const ::keyapis::vc::v1::CameraVideoDataPaging&
GetCameraVideoDataListRequest::_Internal::paging(const GetCameraVideoDataListRequest* msg) {
  return *msg->_impl_.pagination_.paging_;
}
void GetCameraVideoDataListRequest::set_allocated_paging(::keyapis::vc::v1::CameraVideoDataPaging* paging) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_pagination();
  if (paging) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(paging);
    if (message_arena != submessage_arena) {
      paging = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, paging, submessage_arena);
    }
    set_has_paging();
    _impl_.pagination_.paging_ = paging;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraVideoDataListRequest.paging)
}
GetCameraVideoDataListRequest::GetCameraVideoDataListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraVideoDataListRequest)
}
GetCameraVideoDataListRequest::GetCameraVideoDataListRequest(const GetCameraVideoDataListRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraVideoDataListRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.scope_){nullptr}
    , decltype(_impl_.filter_){nullptr}
    , decltype(_impl_.pagination_){}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.scope_ = new ::keyapis::vc::v1::CameraVideoDataScope(*from._impl_.scope_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.filter_ = new ::keyapis::vc::v1::CameraVideoDataFilter(*from._impl_.filter_);
  }
  clear_has_pagination();
  switch (from.pagination_case()) {
    case kPaging: {
      _this->_internal_mutable_paging()->::keyapis::vc::v1::CameraVideoDataPaging::MergeFrom(
          from._internal_paging());
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraVideoDataListRequest)
}

inline void GetCameraVideoDataListRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.scope_){nullptr}
    , decltype(_impl_.filter_){nullptr}
    , decltype(_impl_.pagination_){}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_pagination();
}

GetCameraVideoDataListRequest::~GetCameraVideoDataListRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraVideoDataListRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraVideoDataListRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.scope_;
  if (this != internal_default_instance()) delete _impl_.filter_;
  if (has_pagination()) {
    clear_pagination();
  }
}

void GetCameraVideoDataListRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraVideoDataListRequest::clear_pagination() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraVideoDataListRequest)
  switch (pagination_case()) {
    case kPaging: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.pagination_.paging_;
      }
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = PAGINATION_NOT_SET;
}


void GetCameraVideoDataListRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraVideoDataListRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.scope_ != nullptr);
      _impl_.scope_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.filter_ != nullptr);
      _impl_.filter_->Clear();
    }
  }
  clear_pagination();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraVideoDataListRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraVideoDataScope scope = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_scope(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraVideoDataFilter filter = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_filter(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraVideoDataPaging paging = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_paging(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraVideoDataListRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraVideoDataListRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.CameraVideoDataScope scope = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::scope(this),
        _Internal::scope(this).GetCachedSize(), target, stream);
  }

  // .keyapis.vc.v1.CameraVideoDataFilter filter = 2;
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::filter(this),
        _Internal::filter(this).GetCachedSize(), target, stream);
  }

  // .keyapis.vc.v1.CameraVideoDataPaging paging = 3;
  if (pagination_case() == kPaging) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::paging(this),
        _Internal::paging(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraVideoDataListRequest)
  return target;
}

::size_t GetCameraVideoDataListRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraVideoDataListRequest)
  ::size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .keyapis.vc.v1.CameraVideoDataScope scope = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.scope_);
    }

    // .keyapis.vc.v1.CameraVideoDataFilter filter = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.filter_);
    }

  }
  switch (pagination_case()) {
    // .keyapis.vc.v1.CameraVideoDataPaging paging = 3;
    case kPaging: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.pagination_.paging_);
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraVideoDataListRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraVideoDataListRequest*>(
      &from));
}

void GetCameraVideoDataListRequest::MergeFrom(const GetCameraVideoDataListRequest& from) {
  GetCameraVideoDataListRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraVideoDataListRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_scope()->::keyapis::vc::v1::CameraVideoDataScope::MergeFrom(
          from._internal_scope());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_filter()->::keyapis::vc::v1::CameraVideoDataFilter::MergeFrom(
          from._internal_filter());
    }
  }
  switch (from.pagination_case()) {
    case kPaging: {
      _this->_internal_mutable_paging()->::keyapis::vc::v1::CameraVideoDataPaging::MergeFrom(
          from._internal_paging());
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraVideoDataListRequest::CopyFrom(const GetCameraVideoDataListRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraVideoDataListRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetCameraVideoDataListRequest::InternalSwap(GetCameraVideoDataListRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetCameraVideoDataListRequest, _impl_.filter_)
      + sizeof(GetCameraVideoDataListRequest::_impl_.filter_)
      - PROTOBUF_FIELD_OFFSET(GetCameraVideoDataListRequest, _impl_.scope_)>(
          reinterpret_cast<char*>(&_impl_.scope_),
          reinterpret_cast<char*>(&other->_impl_.scope_));
  swap(_impl_.pagination_, other->_impl_.pagination_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraVideoDataListRequest::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraVideoDataListRequest";
}

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

class GetCameraVideoDataListResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraVideoDataListResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const GetCameraVideoDataListResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
GetCameraVideoDataListResponse_Error::_Internal::validation(const GetCameraVideoDataListResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void GetCameraVideoDataListResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(validation));
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraVideoDataListResponse.Error.validation)
}
void GetCameraVideoDataListResponse_Error::clear_validation() {
  if (reason_case() == kValidation) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.validation_;
    }
    clear_has_reason();
  }
}
GetCameraVideoDataListResponse_Error::GetCameraVideoDataListResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
}
GetCameraVideoDataListResponse_Error::GetCameraVideoDataListResponse_Error(const GetCameraVideoDataListResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraVideoDataListResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
}

inline void GetCameraVideoDataListResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

GetCameraVideoDataListResponse_Error::~GetCameraVideoDataListResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraVideoDataListResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void GetCameraVideoDataListResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraVideoDataListResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void GetCameraVideoDataListResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_reason();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraVideoDataListResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraVideoDataListResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
  return target;
}

::size_t GetCameraVideoDataListResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraVideoDataListResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraVideoDataListResponse_Error*>(
      &from));
}

void GetCameraVideoDataListResponse_Error::MergeFrom(const GetCameraVideoDataListResponse_Error& from) {
  GetCameraVideoDataListResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraVideoDataListResponse_Error::CopyFrom(const GetCameraVideoDataListResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetCameraVideoDataListResponse_Error::InternalSwap(GetCameraVideoDataListResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraVideoDataListResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraVideoDataListResponse.Error";
}

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

class GetCameraVideoDataListResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCameraVideoDataListResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetCameraVideoDataListResponse, _impl_._has_bits_);
  static const ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error& error(const GetCameraVideoDataListResponse* msg);
  static void set_has_error(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error&
GetCameraVideoDataListResponse::_Internal::error(const GetCameraVideoDataListResponse* msg) {
  return *msg->_impl_.error_;
}
GetCameraVideoDataListResponse::GetCameraVideoDataListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraVideoDataListResponse)
}
GetCameraVideoDataListResponse::GetCameraVideoDataListResponse(const GetCameraVideoDataListResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraVideoDataListResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.data_){from._impl_.data_}
    , decltype(_impl_.error_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.error_ = new ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error(*from._impl_.error_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraVideoDataListResponse)
}

inline void GetCameraVideoDataListResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.data_){arena}
    , decltype(_impl_.error_){nullptr}
  };
}

GetCameraVideoDataListResponse::~GetCameraVideoDataListResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraVideoDataListResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraVideoDataListResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_data()->~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.error_;
}

void GetCameraVideoDataListResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraVideoDataListResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraVideoDataListResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_mutable_data()->Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.error_ != nullptr);
    _impl_.error_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraVideoDataListResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .keyapis.vc.v1.CameraVideoData data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_data(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraVideoDataListResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraVideoDataListResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraVideoDataListResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .keyapis.vc.v1.CameraVideoData data = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_data_size()); i < n; i++) {
    const auto& repfield = this->_internal_data(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.GetCameraVideoDataListResponse.Error error = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::error(this),
        _Internal::error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraVideoDataListResponse)
  return target;
}

::size_t GetCameraVideoDataListResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraVideoDataListResponse)
  ::size_t total_size = 0;

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

  // repeated .keyapis.vc.v1.CameraVideoData data = 1;
  total_size += 1UL * this->_internal_data_size();
  for (const auto& msg : this->_internal_data()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .keyapis.vc.v1.GetCameraVideoDataListResponse.Error error = 2;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.error_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraVideoDataListResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraVideoDataListResponse*>(
      &from));
}

void GetCameraVideoDataListResponse::MergeFrom(const GetCameraVideoDataListResponse& from) {
  GetCameraVideoDataListResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraVideoDataListResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_data()->MergeFrom(from._internal_data());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraVideoDataListResponse_Error::MergeFrom(
        from._internal_error());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraVideoDataListResponse::CopyFrom(const GetCameraVideoDataListResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraVideoDataListResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetCameraVideoDataListResponse::InternalSwap(GetCameraVideoDataListResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _internal_mutable_data()->InternalSwap(other->_internal_mutable_data());
  swap(_impl_.error_, other->_impl_.error_);
}

std::string GetCameraVideoDataListResponse::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraVideoDataListResponse";
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace vc
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraVideoData_Category*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraVideoData_Category >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraVideoData_Category >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraVideoData_Location*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraVideoData_Location >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraVideoData_Location >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraVideoData_Status*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraVideoData_Status >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraVideoData_Status >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraVideoData*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraVideoData >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraVideoData >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraVideoDataFilter*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraVideoDataFilter >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraVideoDataFilter >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraVideoDataPaging*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraVideoDataPaging >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraVideoDataPaging >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraVideoDataScope*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraVideoDataScope >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraVideoDataScope >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraVideoDataCountRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraVideoDataCountRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraVideoDataCountRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraVideoDataCountResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraVideoDataCountResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraVideoDataCountResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraVideoDataListRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraVideoDataListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraVideoDataListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraVideoDataListResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraVideoDataListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraVideoDataListResponse >(arena);
}
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
