// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: images.proto
// Protobuf C++ Version: 6.33.1

#ifndef images_2eproto_2epb_2eh
#define images_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 6033001
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/message.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/map.h"  // IWYU pragma: export
#include "google/protobuf/map_type_handler.h"  // IWYU pragma: export
#include "google/protobuf/map_entry.h"
#include "google/protobuf/map_field.h"
#include "google/protobuf/unknown_field_set.h"
#include "google/protobuf/empty.pb.h"
#include "google/protobuf/field_mask.pb.h"
#include "google/protobuf/timestamp.pb.h"
#include "descriptor.pb.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_images_2eproto

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct TableStruct_images_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
extern const ::google::protobuf::internal::DescriptorTable descriptor_table_images_2eproto;
}  // extern "C"
namespace containerd {
namespace services {
namespace images {
namespace v1 {
class CreateImageRequest;
struct CreateImageRequestDefaultTypeInternal;
extern CreateImageRequestDefaultTypeInternal _CreateImageRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull CreateImageRequest_class_data_;
class CreateImageResponse;
struct CreateImageResponseDefaultTypeInternal;
extern CreateImageResponseDefaultTypeInternal _CreateImageResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull CreateImageResponse_class_data_;
class DeleteImageRequest;
struct DeleteImageRequestDefaultTypeInternal;
extern DeleteImageRequestDefaultTypeInternal _DeleteImageRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull DeleteImageRequest_class_data_;
class GetImageRequest;
struct GetImageRequestDefaultTypeInternal;
extern GetImageRequestDefaultTypeInternal _GetImageRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull GetImageRequest_class_data_;
class GetImageResponse;
struct GetImageResponseDefaultTypeInternal;
extern GetImageResponseDefaultTypeInternal _GetImageResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull GetImageResponse_class_data_;
class Image;
struct ImageDefaultTypeInternal;
extern ImageDefaultTypeInternal _Image_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull Image_class_data_;
class Image_LabelsEntry_DoNotUse;
struct Image_LabelsEntry_DoNotUseDefaultTypeInternal;
extern Image_LabelsEntry_DoNotUseDefaultTypeInternal _Image_LabelsEntry_DoNotUse_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull Image_LabelsEntry_DoNotUse_class_data_;
class ListImagesRequest;
struct ListImagesRequestDefaultTypeInternal;
extern ListImagesRequestDefaultTypeInternal _ListImagesRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull ListImagesRequest_class_data_;
class ListImagesResponse;
struct ListImagesResponseDefaultTypeInternal;
extern ListImagesResponseDefaultTypeInternal _ListImagesResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull ListImagesResponse_class_data_;
class UpdateImageRequest;
struct UpdateImageRequestDefaultTypeInternal;
extern UpdateImageRequestDefaultTypeInternal _UpdateImageRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull UpdateImageRequest_class_data_;
class UpdateImageResponse;
struct UpdateImageResponseDefaultTypeInternal;
extern UpdateImageResponseDefaultTypeInternal _UpdateImageResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataFull UpdateImageResponse_class_data_;
}  // namespace v1
}  // namespace images
}  // namespace services
}  // namespace containerd
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google

namespace containerd {
namespace services {
namespace images {
namespace v1 {

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


// -------------------------------------------------------------------

class ListImagesRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:containerd.services.images.v1.ListImagesRequest) */ {
 public:
  inline ListImagesRequest() : ListImagesRequest(nullptr) {}
  ~ListImagesRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ListImagesRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ListImagesRequest));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR ListImagesRequest(::google::protobuf::internal::ConstantInitialized);

  inline ListImagesRequest(const ListImagesRequest& from) : ListImagesRequest(nullptr, from) {}
  inline ListImagesRequest(ListImagesRequest&& from) noexcept
      : ListImagesRequest(nullptr, ::std::move(from)) {}
  inline ListImagesRequest& operator=(const ListImagesRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListImagesRequest& operator=(ListImagesRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ListImagesRequest& default_instance() {
    return *reinterpret_cast<const ListImagesRequest*>(
        &_ListImagesRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(ListImagesRequest& a, ListImagesRequest& b) { a.Swap(&b); }
  inline void Swap(ListImagesRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListImagesRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  ListImagesRequest* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ListImagesRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ListImagesRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ListImagesRequest& from) { ListImagesRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ListImagesRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "containerd.services.images.v1.ListImagesRequest"; }

  explicit ListImagesRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ListImagesRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListImagesRequest& from);
  ListImagesRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListImagesRequest&& from) noexcept
      : ListImagesRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kFiltersFieldNumber = 1,
  };
  // repeated string filters = 1;
  int filters_size() const;
  private:
  int _internal_filters_size() const;

  public:
  void clear_filters() ;
  const ::std::string& filters(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_filters(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_filters(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_filters();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_filters(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& filters() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_filters();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_filters() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_filters();

  public:
  // @@protoc_insertion_point(class_scope:containerd.services.images.v1.ListImagesRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   0, 63,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ListImagesRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> filters_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_images_2eproto;
};

extern const ::google::protobuf::internal::ClassDataFull ListImagesRequest_class_data_;
// -------------------------------------------------------------------

class Image_LabelsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<::std::string, ::std::string,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<::std::string, ::std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>;
  Image_LabelsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Image_LabelsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit Image_LabelsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_Image_LabelsEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_images_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 64,
                                   2>
      _table_;

  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();
};
extern const ::google::protobuf::internal::ClassDataFull Image_LabelsEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class GetImageRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:containerd.services.images.v1.GetImageRequest) */ {
 public:
  inline GetImageRequest() : GetImageRequest(nullptr) {}
  ~GetImageRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(GetImageRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(GetImageRequest));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GetImageRequest(::google::protobuf::internal::ConstantInitialized);

  inline GetImageRequest(const GetImageRequest& from) : GetImageRequest(nullptr, from) {}
  inline GetImageRequest(GetImageRequest&& from) noexcept
      : GetImageRequest(nullptr, ::std::move(from)) {}
  inline GetImageRequest& operator=(const GetImageRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetImageRequest& operator=(GetImageRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GetImageRequest& default_instance() {
    return *reinterpret_cast<const GetImageRequest*>(
        &_GetImageRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(GetImageRequest& a, GetImageRequest& b) { a.Swap(&b); }
  inline void Swap(GetImageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetImageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetImageRequest* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<GetImageRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const GetImageRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const GetImageRequest& from) { GetImageRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GetImageRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "containerd.services.images.v1.GetImageRequest"; }

  explicit GetImageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GetImageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GetImageRequest& from);
  GetImageRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GetImageRequest&& from) noexcept
      : GetImageRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
  };
  // string name = 1;
  void clear_name() ;
  const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // @@protoc_insertion_point(class_scope:containerd.services.images.v1.GetImageRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   0, 58,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetImageRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_images_2eproto;
};

extern const ::google::protobuf::internal::ClassDataFull GetImageRequest_class_data_;
// -------------------------------------------------------------------

class Image final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:containerd.services.images.v1.Image) */ {
 public:
  inline Image() : Image(nullptr) {}
  ~Image() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(Image* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(Image));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Image(::google::protobuf::internal::ConstantInitialized);

  inline Image(const Image& from) : Image(nullptr, from) {}
  inline Image(Image&& from) noexcept
      : Image(nullptr, ::std::move(from)) {}
  inline Image& operator=(const Image& from) {
    CopyFrom(from);
    return *this;
  }
  inline Image& operator=(Image&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Image& default_instance() {
    return *reinterpret_cast<const Image*>(
        &_Image_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(Image& a, Image& b) { a.Swap(&b); }
  inline void Swap(Image* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Image* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Image* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<Image>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const Image& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const Image& from) { Image::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(Image* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "containerd.services.images.v1.Image"; }

  explicit Image(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Image(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Image& from);
  Image(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Image&& from) noexcept
      : Image(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kTargetFieldNumber = 3,
    kCreatedAtFieldNumber = 7,
    kUpdatedAtFieldNumber = 8,
    kLabelsFieldNumber = 2,
  };
  // string name = 1;
  void clear_name() ;
  const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // .containerd.types.Descriptor target = 3;
  bool has_target() const;
  void clear_target() ;
  const ::containerd::types::Descriptor& target() const;
  [[nodiscard]] ::containerd::types::Descriptor* PROTOBUF_NULLABLE release_target();
  ::containerd::types::Descriptor* PROTOBUF_NONNULL mutable_target();
  void set_allocated_target(::containerd::types::Descriptor* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_target(::containerd::types::Descriptor* PROTOBUF_NULLABLE value);
  ::containerd::types::Descriptor* PROTOBUF_NULLABLE unsafe_arena_release_target();

  private:
  const ::containerd::types::Descriptor& _internal_target() const;
  ::containerd::types::Descriptor* PROTOBUF_NONNULL _internal_mutable_target();

  public:
  // .google.protobuf.Timestamp created_at = 7;
  bool has_created_at() const;
  void clear_created_at() ;
  const ::google::protobuf::Timestamp& created_at() const;
  [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_created_at();
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_created_at();
  void set_allocated_created_at(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_created_at(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_created_at();

  private:
  const ::google::protobuf::Timestamp& _internal_created_at() const;
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_created_at();

  public:
  // .google.protobuf.Timestamp updated_at = 8;
  bool has_updated_at() const;
  void clear_updated_at() ;
  const ::google::protobuf::Timestamp& updated_at() const;
  [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_updated_at();
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_updated_at();
  void set_allocated_updated_at(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_updated_at(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_updated_at();

  private:
  const ::google::protobuf::Timestamp& _internal_updated_at() const;
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_updated_at();

  public:
  // map<string, string> labels = 2;
  int labels_size() const;
  private:
  int _internal_labels_size() const;

  public:
  void clear_labels() ;
  const ::google::protobuf::Map<::std::string, ::std::string>& labels() const;
  ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL mutable_labels();

  private:
  const ::google::protobuf::Map<::std::string, ::std::string>& _internal_labels() const;
  ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL _internal_mutable_labels();

  public:
  // @@protoc_insertion_point(class_scope:containerd.services.images.v1.Image)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   4, 54,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const Image& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::containerd::types::Descriptor* PROTOBUF_NULLABLE target_;
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE created_at_;
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE updated_at_;
    ::google::protobuf::internal::MapField<Image_LabelsEntry_DoNotUse, ::std::string, ::std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>
        labels_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_images_2eproto;
};

extern const ::google::protobuf::internal::ClassDataFull Image_class_data_;
// -------------------------------------------------------------------

class DeleteImageRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:containerd.services.images.v1.DeleteImageRequest) */ {
 public:
  inline DeleteImageRequest() : DeleteImageRequest(nullptr) {}
  ~DeleteImageRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(DeleteImageRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(DeleteImageRequest));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR DeleteImageRequest(::google::protobuf::internal::ConstantInitialized);

  inline DeleteImageRequest(const DeleteImageRequest& from) : DeleteImageRequest(nullptr, from) {}
  inline DeleteImageRequest(DeleteImageRequest&& from) noexcept
      : DeleteImageRequest(nullptr, ::std::move(from)) {}
  inline DeleteImageRequest& operator=(const DeleteImageRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline DeleteImageRequest& operator=(DeleteImageRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const DeleteImageRequest& default_instance() {
    return *reinterpret_cast<const DeleteImageRequest*>(
        &_DeleteImageRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 10;
  friend void swap(DeleteImageRequest& a, DeleteImageRequest& b) { a.Swap(&b); }
  inline void Swap(DeleteImageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DeleteImageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  DeleteImageRequest* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<DeleteImageRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const DeleteImageRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const DeleteImageRequest& from) { DeleteImageRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(DeleteImageRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "containerd.services.images.v1.DeleteImageRequest"; }

  explicit DeleteImageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  DeleteImageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DeleteImageRequest& from);
  DeleteImageRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DeleteImageRequest&& from) noexcept
      : DeleteImageRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kTargetFieldNumber = 3,
    kSyncFieldNumber = 2,
  };
  // string name = 1;
  void clear_name() ;
  const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // .containerd.types.Descriptor target = 3;
  bool has_target() const;
  void clear_target() ;
  const ::containerd::types::Descriptor& target() const;
  [[nodiscard]] ::containerd::types::Descriptor* PROTOBUF_NULLABLE release_target();
  ::containerd::types::Descriptor* PROTOBUF_NONNULL mutable_target();
  void set_allocated_target(::containerd::types::Descriptor* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_target(::containerd::types::Descriptor* PROTOBUF_NULLABLE value);
  ::containerd::types::Descriptor* PROTOBUF_NULLABLE unsafe_arena_release_target();

  private:
  const ::containerd::types::Descriptor& _internal_target() const;
  ::containerd::types::Descriptor* PROTOBUF_NONNULL _internal_mutable_target();

  public:
  // bool sync = 2;
  void clear_sync() ;
  bool sync() const;
  void set_sync(bool value);

  private:
  bool _internal_sync() const;
  void _internal_set_sync(bool value);

  public:
  // @@protoc_insertion_point(class_scope:containerd.services.images.v1.DeleteImageRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   1, 61,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const DeleteImageRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::containerd::types::Descriptor* PROTOBUF_NULLABLE target_;
    bool sync_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_images_2eproto;
};

extern const ::google::protobuf::internal::ClassDataFull DeleteImageRequest_class_data_;
// -------------------------------------------------------------------

class UpdateImageResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:containerd.services.images.v1.UpdateImageResponse) */ {
 public:
  inline UpdateImageResponse() : UpdateImageResponse(nullptr) {}
  ~UpdateImageResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateImageResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateImageResponse));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR UpdateImageResponse(::google::protobuf::internal::ConstantInitialized);

  inline UpdateImageResponse(const UpdateImageResponse& from) : UpdateImageResponse(nullptr, from) {}
  inline UpdateImageResponse(UpdateImageResponse&& from) noexcept
      : UpdateImageResponse(nullptr, ::std::move(from)) {}
  inline UpdateImageResponse& operator=(const UpdateImageResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateImageResponse& operator=(UpdateImageResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const UpdateImageResponse& default_instance() {
    return *reinterpret_cast<const UpdateImageResponse*>(
        &_UpdateImageResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(UpdateImageResponse& a, UpdateImageResponse& b) { a.Swap(&b); }
  inline void Swap(UpdateImageResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateImageResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  UpdateImageResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UpdateImageResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UpdateImageResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UpdateImageResponse& from) { UpdateImageResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UpdateImageResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "containerd.services.images.v1.UpdateImageResponse"; }

  explicit UpdateImageResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateImageResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateImageResponse& from);
  UpdateImageResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateImageResponse&& from) noexcept
      : UpdateImageResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kImageFieldNumber = 1,
  };
  // .containerd.services.images.v1.Image image = 1;
  bool has_image() const;
  void clear_image() ;
  const ::containerd::services::images::v1::Image& image() const;
  [[nodiscard]] ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE release_image();
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL mutable_image();
  void set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value);
  ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE unsafe_arena_release_image();

  private:
  const ::containerd::services::images::v1::Image& _internal_image() const;
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL _internal_mutable_image();

  public:
  // @@protoc_insertion_point(class_scope:containerd.services.images.v1.UpdateImageResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UpdateImageResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE image_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_images_2eproto;
};

extern const ::google::protobuf::internal::ClassDataFull UpdateImageResponse_class_data_;
// -------------------------------------------------------------------

class UpdateImageRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:containerd.services.images.v1.UpdateImageRequest) */ {
 public:
  inline UpdateImageRequest() : UpdateImageRequest(nullptr) {}
  ~UpdateImageRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateImageRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateImageRequest));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR UpdateImageRequest(::google::protobuf::internal::ConstantInitialized);

  inline UpdateImageRequest(const UpdateImageRequest& from) : UpdateImageRequest(nullptr, from) {}
  inline UpdateImageRequest(UpdateImageRequest&& from) noexcept
      : UpdateImageRequest(nullptr, ::std::move(from)) {}
  inline UpdateImageRequest& operator=(const UpdateImageRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateImageRequest& operator=(UpdateImageRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const UpdateImageRequest& default_instance() {
    return *reinterpret_cast<const UpdateImageRequest*>(
        &_UpdateImageRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(UpdateImageRequest& a, UpdateImageRequest& b) { a.Swap(&b); }
  inline void Swap(UpdateImageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateImageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  UpdateImageRequest* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UpdateImageRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UpdateImageRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UpdateImageRequest& from) { UpdateImageRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UpdateImageRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "containerd.services.images.v1.UpdateImageRequest"; }

  explicit UpdateImageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateImageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateImageRequest& from);
  UpdateImageRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateImageRequest&& from) noexcept
      : UpdateImageRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kImageFieldNumber = 1,
    kUpdateMaskFieldNumber = 2,
    kSourceDateEpochFieldNumber = 3,
  };
  // .containerd.services.images.v1.Image image = 1;
  bool has_image() const;
  void clear_image() ;
  const ::containerd::services::images::v1::Image& image() const;
  [[nodiscard]] ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE release_image();
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL mutable_image();
  void set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value);
  ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE unsafe_arena_release_image();

  private:
  const ::containerd::services::images::v1::Image& _internal_image() const;
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL _internal_mutable_image();

  public:
  // .google.protobuf.FieldMask update_mask = 2;
  bool has_update_mask() const;
  void clear_update_mask() ;
  const ::google::protobuf::FieldMask& update_mask() const;
  [[nodiscard]] ::google::protobuf::FieldMask* PROTOBUF_NULLABLE release_update_mask();
  ::google::protobuf::FieldMask* PROTOBUF_NONNULL mutable_update_mask();
  void set_allocated_update_mask(::google::protobuf::FieldMask* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_update_mask(::google::protobuf::FieldMask* PROTOBUF_NULLABLE value);
  ::google::protobuf::FieldMask* PROTOBUF_NULLABLE unsafe_arena_release_update_mask();

  private:
  const ::google::protobuf::FieldMask& _internal_update_mask() const;
  ::google::protobuf::FieldMask* PROTOBUF_NONNULL _internal_mutable_update_mask();

  public:
  // .google.protobuf.Timestamp source_date_epoch = 3;
  bool has_source_date_epoch() const;
  void clear_source_date_epoch() ;
  const ::google::protobuf::Timestamp& source_date_epoch() const;
  [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_source_date_epoch();
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_source_date_epoch();
  void set_allocated_source_date_epoch(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_source_date_epoch(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_source_date_epoch();

  private:
  const ::google::protobuf::Timestamp& _internal_source_date_epoch() const;
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_source_date_epoch();

  public:
  // @@protoc_insertion_point(class_scope:containerd.services.images.v1.UpdateImageRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UpdateImageRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE image_;
    ::google::protobuf::FieldMask* PROTOBUF_NULLABLE update_mask_;
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE source_date_epoch_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_images_2eproto;
};

extern const ::google::protobuf::internal::ClassDataFull UpdateImageRequest_class_data_;
// -------------------------------------------------------------------

class ListImagesResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:containerd.services.images.v1.ListImagesResponse) */ {
 public:
  inline ListImagesResponse() : ListImagesResponse(nullptr) {}
  ~ListImagesResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ListImagesResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ListImagesResponse));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR ListImagesResponse(::google::protobuf::internal::ConstantInitialized);

  inline ListImagesResponse(const ListImagesResponse& from) : ListImagesResponse(nullptr, from) {}
  inline ListImagesResponse(ListImagesResponse&& from) noexcept
      : ListImagesResponse(nullptr, ::std::move(from)) {}
  inline ListImagesResponse& operator=(const ListImagesResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListImagesResponse& operator=(ListImagesResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ListImagesResponse& default_instance() {
    return *reinterpret_cast<const ListImagesResponse*>(
        &_ListImagesResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 9;
  friend void swap(ListImagesResponse& a, ListImagesResponse& b) { a.Swap(&b); }
  inline void Swap(ListImagesResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListImagesResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  ListImagesResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ListImagesResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ListImagesResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ListImagesResponse& from) { ListImagesResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ListImagesResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "containerd.services.images.v1.ListImagesResponse"; }

  explicit ListImagesResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ListImagesResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListImagesResponse& from);
  ListImagesResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListImagesResponse&& from) noexcept
      : ListImagesResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kImagesFieldNumber = 1,
  };
  // repeated .containerd.services.images.v1.Image images = 1;
  int images_size() const;
  private:
  int _internal_images_size() const;

  public:
  void clear_images() ;
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL mutable_images(int index);
  ::google::protobuf::RepeatedPtrField<::containerd::services::images::v1::Image>* PROTOBUF_NONNULL mutable_images();

  private:
  const ::google::protobuf::RepeatedPtrField<::containerd::services::images::v1::Image>& _internal_images() const;
  ::google::protobuf::RepeatedPtrField<::containerd::services::images::v1::Image>* PROTOBUF_NONNULL _internal_mutable_images();
  public:
  const ::containerd::services::images::v1::Image& images(int index) const;
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL add_images();
  const ::google::protobuf::RepeatedPtrField<::containerd::services::images::v1::Image>& images() const;
  // @@protoc_insertion_point(class_scope:containerd.services.images.v1.ListImagesResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ListImagesResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::containerd::services::images::v1::Image > images_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_images_2eproto;
};

extern const ::google::protobuf::internal::ClassDataFull ListImagesResponse_class_data_;
// -------------------------------------------------------------------

class GetImageResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:containerd.services.images.v1.GetImageResponse) */ {
 public:
  inline GetImageResponse() : GetImageResponse(nullptr) {}
  ~GetImageResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(GetImageResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(GetImageResponse));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GetImageResponse(::google::protobuf::internal::ConstantInitialized);

  inline GetImageResponse(const GetImageResponse& from) : GetImageResponse(nullptr, from) {}
  inline GetImageResponse(GetImageResponse&& from) noexcept
      : GetImageResponse(nullptr, ::std::move(from)) {}
  inline GetImageResponse& operator=(const GetImageResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetImageResponse& operator=(GetImageResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GetImageResponse& default_instance() {
    return *reinterpret_cast<const GetImageResponse*>(
        &_GetImageResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(GetImageResponse& a, GetImageResponse& b) { a.Swap(&b); }
  inline void Swap(GetImageResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetImageResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetImageResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<GetImageResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const GetImageResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const GetImageResponse& from) { GetImageResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GetImageResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "containerd.services.images.v1.GetImageResponse"; }

  explicit GetImageResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GetImageResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GetImageResponse& from);
  GetImageResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GetImageResponse&& from) noexcept
      : GetImageResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kImageFieldNumber = 1,
  };
  // .containerd.services.images.v1.Image image = 1;
  bool has_image() const;
  void clear_image() ;
  const ::containerd::services::images::v1::Image& image() const;
  [[nodiscard]] ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE release_image();
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL mutable_image();
  void set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value);
  ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE unsafe_arena_release_image();

  private:
  const ::containerd::services::images::v1::Image& _internal_image() const;
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL _internal_mutable_image();

  public:
  // @@protoc_insertion_point(class_scope:containerd.services.images.v1.GetImageResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetImageResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE image_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_images_2eproto;
};

extern const ::google::protobuf::internal::ClassDataFull GetImageResponse_class_data_;
// -------------------------------------------------------------------

class CreateImageResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:containerd.services.images.v1.CreateImageResponse) */ {
 public:
  inline CreateImageResponse() : CreateImageResponse(nullptr) {}
  ~CreateImageResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CreateImageResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CreateImageResponse));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR CreateImageResponse(::google::protobuf::internal::ConstantInitialized);

  inline CreateImageResponse(const CreateImageResponse& from) : CreateImageResponse(nullptr, from) {}
  inline CreateImageResponse(CreateImageResponse&& from) noexcept
      : CreateImageResponse(nullptr, ::std::move(from)) {}
  inline CreateImageResponse& operator=(const CreateImageResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline CreateImageResponse& operator=(CreateImageResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CreateImageResponse& default_instance() {
    return *reinterpret_cast<const CreateImageResponse*>(
        &_CreateImageResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(CreateImageResponse& a, CreateImageResponse& b) { a.Swap(&b); }
  inline void Swap(CreateImageResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CreateImageResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CreateImageResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CreateImageResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CreateImageResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CreateImageResponse& from) { CreateImageResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CreateImageResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "containerd.services.images.v1.CreateImageResponse"; }

  explicit CreateImageResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CreateImageResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CreateImageResponse& from);
  CreateImageResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CreateImageResponse&& from) noexcept
      : CreateImageResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kImageFieldNumber = 1,
  };
  // .containerd.services.images.v1.Image image = 1;
  bool has_image() const;
  void clear_image() ;
  const ::containerd::services::images::v1::Image& image() const;
  [[nodiscard]] ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE release_image();
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL mutable_image();
  void set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value);
  ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE unsafe_arena_release_image();

  private:
  const ::containerd::services::images::v1::Image& _internal_image() const;
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL _internal_mutable_image();

  public:
  // @@protoc_insertion_point(class_scope:containerd.services.images.v1.CreateImageResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CreateImageResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE image_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_images_2eproto;
};

extern const ::google::protobuf::internal::ClassDataFull CreateImageResponse_class_data_;
// -------------------------------------------------------------------

class CreateImageRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:containerd.services.images.v1.CreateImageRequest) */ {
 public:
  inline CreateImageRequest() : CreateImageRequest(nullptr) {}
  ~CreateImageRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CreateImageRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CreateImageRequest));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR CreateImageRequest(::google::protobuf::internal::ConstantInitialized);

  inline CreateImageRequest(const CreateImageRequest& from) : CreateImageRequest(nullptr, from) {}
  inline CreateImageRequest(CreateImageRequest&& from) noexcept
      : CreateImageRequest(nullptr, ::std::move(from)) {}
  inline CreateImageRequest& operator=(const CreateImageRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline CreateImageRequest& operator=(CreateImageRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CreateImageRequest& default_instance() {
    return *reinterpret_cast<const CreateImageRequest*>(
        &_CreateImageRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(CreateImageRequest& a, CreateImageRequest& b) { a.Swap(&b); }
  inline void Swap(CreateImageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CreateImageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CreateImageRequest* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CreateImageRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CreateImageRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CreateImageRequest& from) { CreateImageRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CreateImageRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "containerd.services.images.v1.CreateImageRequest"; }

  explicit CreateImageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CreateImageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CreateImageRequest& from);
  CreateImageRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CreateImageRequest&& from) noexcept
      : CreateImageRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kImageFieldNumber = 1,
    kSourceDateEpochFieldNumber = 2,
  };
  // .containerd.services.images.v1.Image image = 1;
  bool has_image() const;
  void clear_image() ;
  const ::containerd::services::images::v1::Image& image() const;
  [[nodiscard]] ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE release_image();
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL mutable_image();
  void set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value);
  ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE unsafe_arena_release_image();

  private:
  const ::containerd::services::images::v1::Image& _internal_image() const;
  ::containerd::services::images::v1::Image* PROTOBUF_NONNULL _internal_mutable_image();

  public:
  // .google.protobuf.Timestamp source_date_epoch = 2;
  bool has_source_date_epoch() const;
  void clear_source_date_epoch() ;
  const ::google::protobuf::Timestamp& source_date_epoch() const;
  [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_source_date_epoch();
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_source_date_epoch();
  void set_allocated_source_date_epoch(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_source_date_epoch(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_source_date_epoch();

  private:
  const ::google::protobuf::Timestamp& _internal_source_date_epoch() const;
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_source_date_epoch();

  public:
  // @@protoc_insertion_point(class_scope:containerd.services.images.v1.CreateImageRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CreateImageRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE image_;
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE source_date_epoch_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_images_2eproto;
};

extern const ::google::protobuf::internal::ClassDataFull CreateImageRequest_class_data_;

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




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


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// Image

// string name = 1;
inline void Image::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& Image::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.Image.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Image::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:containerd.services.images.v1.Image.name)
}
inline ::std::string* PROTOBUF_NONNULL Image::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.Image.name)
  return _s;
}
inline const ::std::string& Image::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void Image::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Image::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Image::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.Image.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void Image::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.Image.name)
}

// map<string, string> labels = 2;
inline int Image::_internal_labels_size() const {
  return _internal_labels().size();
}
inline int Image::labels_size() const {
  return _internal_labels_size();
}
inline void Image::clear_labels() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.labels_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000010U);
}
inline const ::google::protobuf::Map<::std::string, ::std::string>& Image::_internal_labels() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.labels_.GetMap();
}
inline const ::google::protobuf::Map<::std::string, ::std::string>& Image::labels() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:containerd.services.images.v1.Image.labels)
  return _internal_labels();
}
inline ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL Image::_internal_mutable_labels() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.labels_.MutableMap();
}
inline ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL Image::mutable_labels()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_mutable_map:containerd.services.images.v1.Image.labels)
  return _internal_mutable_labels();
}

// .containerd.types.Descriptor target = 3;
inline bool Image::has_target() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.target_ != nullptr);
  return value;
}
inline const ::containerd::types::Descriptor& Image::_internal_target() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::containerd::types::Descriptor* p = _impl_.target_;
  return p != nullptr ? *p : reinterpret_cast<const ::containerd::types::Descriptor&>(::containerd::types::_Descriptor_default_instance_);
}
inline const ::containerd::types::Descriptor& Image::target() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.Image.target)
  return _internal_target();
}
inline void Image::unsafe_arena_set_allocated_target(
    ::containerd::types::Descriptor* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.target_);
  }
  _impl_.target_ = reinterpret_cast<::containerd::types::Descriptor*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.Image.target)
}
inline ::containerd::types::Descriptor* PROTOBUF_NULLABLE Image::release_target() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::containerd::types::Descriptor* released = _impl_.target_;
  _impl_.target_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::containerd::types::Descriptor* PROTOBUF_NULLABLE Image::unsafe_arena_release_target() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.Image.target)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::containerd::types::Descriptor* temp = _impl_.target_;
  _impl_.target_ = nullptr;
  return temp;
}
inline ::containerd::types::Descriptor* PROTOBUF_NONNULL Image::_internal_mutable_target() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.target_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::containerd::types::Descriptor>(GetArena());
    _impl_.target_ = reinterpret_cast<::containerd::types::Descriptor*>(p);
  }
  return _impl_.target_;
}
inline ::containerd::types::Descriptor* PROTOBUF_NONNULL Image::mutable_target()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::containerd::types::Descriptor* _msg = _internal_mutable_target();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.Image.target)
  return _msg;
}
inline void Image::set_allocated_target(::containerd::types::Descriptor* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.target_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.target_ = reinterpret_cast<::containerd::types::Descriptor*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.Image.target)
}

// .google.protobuf.Timestamp created_at = 7;
inline bool Image::has_created_at() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.created_at_ != nullptr);
  return value;
}
inline const ::google::protobuf::Timestamp& Image::_internal_created_at() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Timestamp* p = _impl_.created_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::Timestamp&>(::google::protobuf::_Timestamp_default_instance_);
}
inline const ::google::protobuf::Timestamp& Image::created_at() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.Image.created_at)
  return _internal_created_at();
}
inline void Image::unsafe_arena_set_allocated_created_at(
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.created_at_);
  }
  _impl_.created_at_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.Image.created_at)
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE Image::release_created_at() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Timestamp* released = _impl_.created_at_;
  _impl_.created_at_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE Image::unsafe_arena_release_created_at() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.Image.created_at)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Timestamp* temp = _impl_.created_at_;
  _impl_.created_at_ = nullptr;
  return temp;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL Image::_internal_mutable_created_at() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.created_at_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena());
    _impl_.created_at_ = reinterpret_cast<::google::protobuf::Timestamp*>(p);
  }
  return _impl_.created_at_;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL Image::mutable_created_at()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Timestamp* _msg = _internal_mutable_created_at();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.Image.created_at)
  return _msg;
}
inline void Image::set_allocated_created_at(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.created_at_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.created_at_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.Image.created_at)
}

// .google.protobuf.Timestamp updated_at = 8;
inline bool Image::has_updated_at() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.updated_at_ != nullptr);
  return value;
}
inline const ::google::protobuf::Timestamp& Image::_internal_updated_at() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Timestamp* p = _impl_.updated_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::Timestamp&>(::google::protobuf::_Timestamp_default_instance_);
}
inline const ::google::protobuf::Timestamp& Image::updated_at() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.Image.updated_at)
  return _internal_updated_at();
}
inline void Image::unsafe_arena_set_allocated_updated_at(
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.updated_at_);
  }
  _impl_.updated_at_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.Image.updated_at)
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE Image::release_updated_at() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::protobuf::Timestamp* released = _impl_.updated_at_;
  _impl_.updated_at_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE Image::unsafe_arena_release_updated_at() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.Image.updated_at)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::protobuf::Timestamp* temp = _impl_.updated_at_;
  _impl_.updated_at_ = nullptr;
  return temp;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL Image::_internal_mutable_updated_at() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.updated_at_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena());
    _impl_.updated_at_ = reinterpret_cast<::google::protobuf::Timestamp*>(p);
  }
  return _impl_.updated_at_;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL Image::mutable_updated_at()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::protobuf::Timestamp* _msg = _internal_mutable_updated_at();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.Image.updated_at)
  return _msg;
}
inline void Image::set_allocated_updated_at(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.updated_at_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.updated_at_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.Image.updated_at)
}

// -------------------------------------------------------------------

// GetImageRequest

// string name = 1;
inline void GetImageRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& GetImageRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.GetImageRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GetImageRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:containerd.services.images.v1.GetImageRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL GetImageRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.GetImageRequest.name)
  return _s;
}
inline const ::std::string& GetImageRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void GetImageRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GetImageRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GetImageRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.GetImageRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void GetImageRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.GetImageRequest.name)
}

// -------------------------------------------------------------------

// GetImageResponse

// .containerd.services.images.v1.Image image = 1;
inline bool GetImageResponse::has_image() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.image_ != nullptr);
  return value;
}
inline void GetImageResponse::clear_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.image_ != nullptr) _impl_.image_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::containerd::services::images::v1::Image& GetImageResponse::_internal_image() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::containerd::services::images::v1::Image* p = _impl_.image_;
  return p != nullptr ? *p : reinterpret_cast<const ::containerd::services::images::v1::Image&>(::containerd::services::images::v1::_Image_default_instance_);
}
inline const ::containerd::services::images::v1::Image& GetImageResponse::image() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.GetImageResponse.image)
  return _internal_image();
}
inline void GetImageResponse::unsafe_arena_set_allocated_image(
    ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.image_);
  }
  _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.GetImageResponse.image)
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE GetImageResponse::release_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* released = _impl_.image_;
  _impl_.image_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE GetImageResponse::unsafe_arena_release_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.GetImageResponse.image)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* temp = _impl_.image_;
  _impl_.image_ = nullptr;
  return temp;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL GetImageResponse::_internal_mutable_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.image_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::containerd::services::images::v1::Image>(GetArena());
    _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(p);
  }
  return _impl_.image_;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL GetImageResponse::mutable_image()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* _msg = _internal_mutable_image();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.GetImageResponse.image)
  return _msg;
}
inline void GetImageResponse::set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.image_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.GetImageResponse.image)
}

// -------------------------------------------------------------------

// CreateImageRequest

// .containerd.services.images.v1.Image image = 1;
inline bool CreateImageRequest::has_image() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.image_ != nullptr);
  return value;
}
inline void CreateImageRequest::clear_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.image_ != nullptr) _impl_.image_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::containerd::services::images::v1::Image& CreateImageRequest::_internal_image() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::containerd::services::images::v1::Image* p = _impl_.image_;
  return p != nullptr ? *p : reinterpret_cast<const ::containerd::services::images::v1::Image&>(::containerd::services::images::v1::_Image_default_instance_);
}
inline const ::containerd::services::images::v1::Image& CreateImageRequest::image() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.CreateImageRequest.image)
  return _internal_image();
}
inline void CreateImageRequest::unsafe_arena_set_allocated_image(
    ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.image_);
  }
  _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.CreateImageRequest.image)
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE CreateImageRequest::release_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* released = _impl_.image_;
  _impl_.image_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE CreateImageRequest::unsafe_arena_release_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.CreateImageRequest.image)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* temp = _impl_.image_;
  _impl_.image_ = nullptr;
  return temp;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL CreateImageRequest::_internal_mutable_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.image_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::containerd::services::images::v1::Image>(GetArena());
    _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(p);
  }
  return _impl_.image_;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL CreateImageRequest::mutable_image()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* _msg = _internal_mutable_image();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.CreateImageRequest.image)
  return _msg;
}
inline void CreateImageRequest::set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.image_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.CreateImageRequest.image)
}

// .google.protobuf.Timestamp source_date_epoch = 2;
inline bool CreateImageRequest::has_source_date_epoch() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.source_date_epoch_ != nullptr);
  return value;
}
inline const ::google::protobuf::Timestamp& CreateImageRequest::_internal_source_date_epoch() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Timestamp* p = _impl_.source_date_epoch_;
  return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::Timestamp&>(::google::protobuf::_Timestamp_default_instance_);
}
inline const ::google::protobuf::Timestamp& CreateImageRequest::source_date_epoch() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.CreateImageRequest.source_date_epoch)
  return _internal_source_date_epoch();
}
inline void CreateImageRequest::unsafe_arena_set_allocated_source_date_epoch(
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_date_epoch_);
  }
  _impl_.source_date_epoch_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.CreateImageRequest.source_date_epoch)
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE CreateImageRequest::release_source_date_epoch() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Timestamp* released = _impl_.source_date_epoch_;
  _impl_.source_date_epoch_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE CreateImageRequest::unsafe_arena_release_source_date_epoch() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.CreateImageRequest.source_date_epoch)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Timestamp* temp = _impl_.source_date_epoch_;
  _impl_.source_date_epoch_ = nullptr;
  return temp;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL CreateImageRequest::_internal_mutable_source_date_epoch() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.source_date_epoch_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena());
    _impl_.source_date_epoch_ = reinterpret_cast<::google::protobuf::Timestamp*>(p);
  }
  return _impl_.source_date_epoch_;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL CreateImageRequest::mutable_source_date_epoch()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Timestamp* _msg = _internal_mutable_source_date_epoch();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.CreateImageRequest.source_date_epoch)
  return _msg;
}
inline void CreateImageRequest::set_allocated_source_date_epoch(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_date_epoch_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.source_date_epoch_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.CreateImageRequest.source_date_epoch)
}

// -------------------------------------------------------------------

// CreateImageResponse

// .containerd.services.images.v1.Image image = 1;
inline bool CreateImageResponse::has_image() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.image_ != nullptr);
  return value;
}
inline void CreateImageResponse::clear_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.image_ != nullptr) _impl_.image_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::containerd::services::images::v1::Image& CreateImageResponse::_internal_image() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::containerd::services::images::v1::Image* p = _impl_.image_;
  return p != nullptr ? *p : reinterpret_cast<const ::containerd::services::images::v1::Image&>(::containerd::services::images::v1::_Image_default_instance_);
}
inline const ::containerd::services::images::v1::Image& CreateImageResponse::image() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.CreateImageResponse.image)
  return _internal_image();
}
inline void CreateImageResponse::unsafe_arena_set_allocated_image(
    ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.image_);
  }
  _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.CreateImageResponse.image)
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE CreateImageResponse::release_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* released = _impl_.image_;
  _impl_.image_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE CreateImageResponse::unsafe_arena_release_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.CreateImageResponse.image)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* temp = _impl_.image_;
  _impl_.image_ = nullptr;
  return temp;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL CreateImageResponse::_internal_mutable_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.image_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::containerd::services::images::v1::Image>(GetArena());
    _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(p);
  }
  return _impl_.image_;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL CreateImageResponse::mutable_image()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* _msg = _internal_mutable_image();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.CreateImageResponse.image)
  return _msg;
}
inline void CreateImageResponse::set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.image_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.CreateImageResponse.image)
}

// -------------------------------------------------------------------

// UpdateImageRequest

// .containerd.services.images.v1.Image image = 1;
inline bool UpdateImageRequest::has_image() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.image_ != nullptr);
  return value;
}
inline void UpdateImageRequest::clear_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.image_ != nullptr) _impl_.image_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::containerd::services::images::v1::Image& UpdateImageRequest::_internal_image() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::containerd::services::images::v1::Image* p = _impl_.image_;
  return p != nullptr ? *p : reinterpret_cast<const ::containerd::services::images::v1::Image&>(::containerd::services::images::v1::_Image_default_instance_);
}
inline const ::containerd::services::images::v1::Image& UpdateImageRequest::image() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.UpdateImageRequest.image)
  return _internal_image();
}
inline void UpdateImageRequest::unsafe_arena_set_allocated_image(
    ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.image_);
  }
  _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.UpdateImageRequest.image)
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE UpdateImageRequest::release_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* released = _impl_.image_;
  _impl_.image_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE UpdateImageRequest::unsafe_arena_release_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.UpdateImageRequest.image)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* temp = _impl_.image_;
  _impl_.image_ = nullptr;
  return temp;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL UpdateImageRequest::_internal_mutable_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.image_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::containerd::services::images::v1::Image>(GetArena());
    _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(p);
  }
  return _impl_.image_;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL UpdateImageRequest::mutable_image()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* _msg = _internal_mutable_image();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.UpdateImageRequest.image)
  return _msg;
}
inline void UpdateImageRequest::set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.image_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.UpdateImageRequest.image)
}

// .google.protobuf.FieldMask update_mask = 2;
inline bool UpdateImageRequest::has_update_mask() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.update_mask_ != nullptr);
  return value;
}
inline const ::google::protobuf::FieldMask& UpdateImageRequest::_internal_update_mask() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::FieldMask* p = _impl_.update_mask_;
  return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FieldMask&>(::google::protobuf::_FieldMask_default_instance_);
}
inline const ::google::protobuf::FieldMask& UpdateImageRequest::update_mask() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.UpdateImageRequest.update_mask)
  return _internal_update_mask();
}
inline void UpdateImageRequest::unsafe_arena_set_allocated_update_mask(
    ::google::protobuf::FieldMask* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.update_mask_);
  }
  _impl_.update_mask_ = reinterpret_cast<::google::protobuf::FieldMask*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.UpdateImageRequest.update_mask)
}
inline ::google::protobuf::FieldMask* PROTOBUF_NULLABLE UpdateImageRequest::release_update_mask() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::FieldMask* released = _impl_.update_mask_;
  _impl_.update_mask_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::FieldMask* PROTOBUF_NULLABLE UpdateImageRequest::unsafe_arena_release_update_mask() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.UpdateImageRequest.update_mask)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::FieldMask* temp = _impl_.update_mask_;
  _impl_.update_mask_ = nullptr;
  return temp;
}
inline ::google::protobuf::FieldMask* PROTOBUF_NONNULL UpdateImageRequest::_internal_mutable_update_mask() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.update_mask_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FieldMask>(GetArena());
    _impl_.update_mask_ = reinterpret_cast<::google::protobuf::FieldMask*>(p);
  }
  return _impl_.update_mask_;
}
inline ::google::protobuf::FieldMask* PROTOBUF_NONNULL UpdateImageRequest::mutable_update_mask()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::FieldMask* _msg = _internal_mutable_update_mask();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.UpdateImageRequest.update_mask)
  return _msg;
}
inline void UpdateImageRequest::set_allocated_update_mask(::google::protobuf::FieldMask* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.update_mask_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.update_mask_ = reinterpret_cast<::google::protobuf::FieldMask*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.UpdateImageRequest.update_mask)
}

// .google.protobuf.Timestamp source_date_epoch = 3;
inline bool UpdateImageRequest::has_source_date_epoch() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.source_date_epoch_ != nullptr);
  return value;
}
inline const ::google::protobuf::Timestamp& UpdateImageRequest::_internal_source_date_epoch() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Timestamp* p = _impl_.source_date_epoch_;
  return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::Timestamp&>(::google::protobuf::_Timestamp_default_instance_);
}
inline const ::google::protobuf::Timestamp& UpdateImageRequest::source_date_epoch() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.UpdateImageRequest.source_date_epoch)
  return _internal_source_date_epoch();
}
inline void UpdateImageRequest::unsafe_arena_set_allocated_source_date_epoch(
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_date_epoch_);
  }
  _impl_.source_date_epoch_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.UpdateImageRequest.source_date_epoch)
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE UpdateImageRequest::release_source_date_epoch() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Timestamp* released = _impl_.source_date_epoch_;
  _impl_.source_date_epoch_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE UpdateImageRequest::unsafe_arena_release_source_date_epoch() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.UpdateImageRequest.source_date_epoch)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Timestamp* temp = _impl_.source_date_epoch_;
  _impl_.source_date_epoch_ = nullptr;
  return temp;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL UpdateImageRequest::_internal_mutable_source_date_epoch() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.source_date_epoch_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena());
    _impl_.source_date_epoch_ = reinterpret_cast<::google::protobuf::Timestamp*>(p);
  }
  return _impl_.source_date_epoch_;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL UpdateImageRequest::mutable_source_date_epoch()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Timestamp* _msg = _internal_mutable_source_date_epoch();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.UpdateImageRequest.source_date_epoch)
  return _msg;
}
inline void UpdateImageRequest::set_allocated_source_date_epoch(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_date_epoch_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.source_date_epoch_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.UpdateImageRequest.source_date_epoch)
}

// -------------------------------------------------------------------

// UpdateImageResponse

// .containerd.services.images.v1.Image image = 1;
inline bool UpdateImageResponse::has_image() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.image_ != nullptr);
  return value;
}
inline void UpdateImageResponse::clear_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.image_ != nullptr) _impl_.image_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::containerd::services::images::v1::Image& UpdateImageResponse::_internal_image() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::containerd::services::images::v1::Image* p = _impl_.image_;
  return p != nullptr ? *p : reinterpret_cast<const ::containerd::services::images::v1::Image&>(::containerd::services::images::v1::_Image_default_instance_);
}
inline const ::containerd::services::images::v1::Image& UpdateImageResponse::image() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.UpdateImageResponse.image)
  return _internal_image();
}
inline void UpdateImageResponse::unsafe_arena_set_allocated_image(
    ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.image_);
  }
  _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.UpdateImageResponse.image)
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE UpdateImageResponse::release_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* released = _impl_.image_;
  _impl_.image_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NULLABLE UpdateImageResponse::unsafe_arena_release_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.UpdateImageResponse.image)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* temp = _impl_.image_;
  _impl_.image_ = nullptr;
  return temp;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL UpdateImageResponse::_internal_mutable_image() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.image_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::containerd::services::images::v1::Image>(GetArena());
    _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(p);
  }
  return _impl_.image_;
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL UpdateImageResponse::mutable_image()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::containerd::services::images::v1::Image* _msg = _internal_mutable_image();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.UpdateImageResponse.image)
  return _msg;
}
inline void UpdateImageResponse::set_allocated_image(::containerd::services::images::v1::Image* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.image_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.image_ = reinterpret_cast<::containerd::services::images::v1::Image*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.UpdateImageResponse.image)
}

// -------------------------------------------------------------------

// ListImagesRequest

// repeated string filters = 1;
inline int ListImagesRequest::_internal_filters_size() const {
  return _internal_filters().size();
}
inline int ListImagesRequest::filters_size() const {
  return _internal_filters_size();
}
inline void ListImagesRequest::clear_filters() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.filters_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::std::string* PROTOBUF_NONNULL ListImagesRequest::add_filters()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_filters()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add_mutable:containerd.services.images.v1.ListImagesRequest.filters)
  return _s;
}
inline const ::std::string& ListImagesRequest::filters(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.ListImagesRequest.filters)
  return _internal_filters().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL ListImagesRequest::mutable_filters(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.ListImagesRequest.filters)
  return _internal_mutable_filters()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void ListImagesRequest::set_filters(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_filters()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:containerd.services.images.v1.ListImagesRequest.filters)
}
template <typename Arg_, typename... Args_>
inline void ListImagesRequest::add_filters(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_filters(), ::std::forward<Arg_>(value),
      args... );
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:containerd.services.images.v1.ListImagesRequest.filters)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& ListImagesRequest::filters()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:containerd.services.images.v1.ListImagesRequest.filters)
  return _internal_filters();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
ListImagesRequest::mutable_filters() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:containerd.services.images.v1.ListImagesRequest.filters)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_filters();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
ListImagesRequest::_internal_filters() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.filters_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
ListImagesRequest::_internal_mutable_filters() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.filters_;
}

// -------------------------------------------------------------------

// ListImagesResponse

// repeated .containerd.services.images.v1.Image images = 1;
inline int ListImagesResponse::_internal_images_size() const {
  return _internal_images().size();
}
inline int ListImagesResponse::images_size() const {
  return _internal_images_size();
}
inline void ListImagesResponse::clear_images() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.images_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL ListImagesResponse::mutable_images(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.ListImagesResponse.images)
  return _internal_mutable_images()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::containerd::services::images::v1::Image>* PROTOBUF_NONNULL ListImagesResponse::mutable_images()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:containerd.services.images.v1.ListImagesResponse.images)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_images();
}
inline const ::containerd::services::images::v1::Image& ListImagesResponse::images(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.ListImagesResponse.images)
  return _internal_images().Get(index);
}
inline ::containerd::services::images::v1::Image* PROTOBUF_NONNULL ListImagesResponse::add_images()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::containerd::services::images::v1::Image* _add =
      _internal_mutable_images()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:containerd.services.images.v1.ListImagesResponse.images)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::containerd::services::images::v1::Image>& ListImagesResponse::images() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:containerd.services.images.v1.ListImagesResponse.images)
  return _internal_images();
}
inline const ::google::protobuf::RepeatedPtrField<::containerd::services::images::v1::Image>&
ListImagesResponse::_internal_images() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.images_;
}
inline ::google::protobuf::RepeatedPtrField<::containerd::services::images::v1::Image>* PROTOBUF_NONNULL
ListImagesResponse::_internal_mutable_images() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.images_;
}

// -------------------------------------------------------------------

// DeleteImageRequest

// string name = 1;
inline void DeleteImageRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& DeleteImageRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.DeleteImageRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void DeleteImageRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:containerd.services.images.v1.DeleteImageRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL DeleteImageRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.DeleteImageRequest.name)
  return _s;
}
inline const ::std::string& DeleteImageRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void DeleteImageRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL DeleteImageRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE DeleteImageRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.DeleteImageRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void DeleteImageRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.DeleteImageRequest.name)
}

// bool sync = 2;
inline void DeleteImageRequest::clear_sync() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.sync_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline bool DeleteImageRequest::sync() const {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.DeleteImageRequest.sync)
  return _internal_sync();
}
inline void DeleteImageRequest::set_sync(bool value) {
  _internal_set_sync(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:containerd.services.images.v1.DeleteImageRequest.sync)
}
inline bool DeleteImageRequest::_internal_sync() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.sync_;
}
inline void DeleteImageRequest::_internal_set_sync(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.sync_ = value;
}

// .containerd.types.Descriptor target = 3;
inline bool DeleteImageRequest::has_target() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.target_ != nullptr);
  return value;
}
inline const ::containerd::types::Descriptor& DeleteImageRequest::_internal_target() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::containerd::types::Descriptor* p = _impl_.target_;
  return p != nullptr ? *p : reinterpret_cast<const ::containerd::types::Descriptor&>(::containerd::types::_Descriptor_default_instance_);
}
inline const ::containerd::types::Descriptor& DeleteImageRequest::target() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:containerd.services.images.v1.DeleteImageRequest.target)
  return _internal_target();
}
inline void DeleteImageRequest::unsafe_arena_set_allocated_target(
    ::containerd::types::Descriptor* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.target_);
  }
  _impl_.target_ = reinterpret_cast<::containerd::types::Descriptor*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:containerd.services.images.v1.DeleteImageRequest.target)
}
inline ::containerd::types::Descriptor* PROTOBUF_NULLABLE DeleteImageRequest::release_target() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::containerd::types::Descriptor* released = _impl_.target_;
  _impl_.target_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::containerd::types::Descriptor* PROTOBUF_NULLABLE DeleteImageRequest::unsafe_arena_release_target() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:containerd.services.images.v1.DeleteImageRequest.target)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::containerd::types::Descriptor* temp = _impl_.target_;
  _impl_.target_ = nullptr;
  return temp;
}
inline ::containerd::types::Descriptor* PROTOBUF_NONNULL DeleteImageRequest::_internal_mutable_target() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.target_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::containerd::types::Descriptor>(GetArena());
    _impl_.target_ = reinterpret_cast<::containerd::types::Descriptor*>(p);
  }
  return _impl_.target_;
}
inline ::containerd::types::Descriptor* PROTOBUF_NONNULL DeleteImageRequest::mutable_target()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::containerd::types::Descriptor* _msg = _internal_mutable_target();
  // @@protoc_insertion_point(field_mutable:containerd.services.images.v1.DeleteImageRequest.target)
  return _msg;
}
inline void DeleteImageRequest::set_allocated_target(::containerd::types::Descriptor* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.target_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.target_ = reinterpret_cast<::containerd::types::Descriptor*>(value);
  // @@protoc_insertion_point(field_set_allocated:containerd.services.images.v1.DeleteImageRequest.target)
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace images
}  // namespace services
}  // namespace containerd


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // images_2eproto_2epb_2eh
