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

#ifndef state_2eproto_2epb_2eh
#define state_2eproto_2epb_2eh

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

// clang-format off
#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 7036000
#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/unknown_field_set.h"
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_state_2eproto

// Internal implementation detail -- do not use these members.
struct TableStruct_state_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
extern const ::google::protobuf::internal::DescriptorTable descriptor_table_state_2eproto;
}  // extern "C"
class ClipListProto;
struct ClipListProtoGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ClipListProtoGlobalsTypeInternal ClipListProto_globals_;
extern const ::google::protobuf::internal::ClassDataFull ClipListProto_class_data_;
#else
extern const ClipListProtoGlobalsTypeInternal ClipListProto_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ClipProto;
struct ClipProtoGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ClipProtoGlobalsTypeInternal ClipProto_globals_;
extern const ::google::protobuf::internal::ClassDataFull ClipProto_class_data_;
#else
extern const ClipProtoGlobalsTypeInternal ClipProto_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class SettingsProto;
struct SettingsProtoGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern SettingsProtoGlobalsTypeInternal SettingsProto_globals_;
extern const ::google::protobuf::internal::ClassDataFull SettingsProto_class_data_;
#else
extern const SettingsProtoGlobalsTypeInternal SettingsProto_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class StateProto;
struct StateProtoGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern StateProtoGlobalsTypeInternal StateProto_globals_;
extern const ::google::protobuf::internal::ClassDataFull StateProto_class_data_;
#else
extern const StateProtoGlobalsTypeInternal StateProto_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google


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


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

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED SettingsProto final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:SettingsProto) */ {
  using Super_ = ::google::protobuf::Message;

 public:
  inline SettingsProto() : SettingsProto(nullptr) {}
  ~SettingsProto() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit constexpr SettingsProto(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

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

  [[nodiscard]] 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);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const SettingsProto& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<SettingsProto>(&SettingsProto_globals_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(SettingsProto& a, SettingsProto& b) { a.Swap(&b); }
  inline void Swap(SettingsProto* 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(SettingsProto* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::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
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SettingsProto* PROTOBUF_NONNULL other);
 private:
  static ::absl::string_view FullMessageName() { return "SettingsProto"; }

  explicit SettingsProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SettingsProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SettingsProto& from);
  SettingsProto(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SettingsProto&& from) noexcept
      : SettingsProto(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_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

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

  // accessors -------------------------------------------------------
  enum : int {
    kCueInPointPaddingSecondsFieldNumber = 2,
    kCueOutPointPaddingSecondsFieldNumber = 3,
    kInterpolationQualityFieldNumber = 1,
  };
  // double cue_in_point_padding_seconds = 2;
  void clear_cue_in_point_padding_seconds() ;
  [[nodiscard]] double cue_in_point_padding_seconds() const;
  void set_cue_in_point_padding_seconds(double value);

  private:
  double _internal_cue_in_point_padding_seconds() const;
  void _internal_set_cue_in_point_padding_seconds(double value);

  public:
  // double cue_out_point_padding_seconds = 3;
  void clear_cue_out_point_padding_seconds() ;
  [[nodiscard]] double cue_out_point_padding_seconds() const;
  void set_cue_out_point_padding_seconds(double value);

  private:
  double _internal_cue_out_point_padding_seconds() const;
  void _internal_set_cue_out_point_padding_seconds(double value);

  public:
  // int32 interpolation_quality = 1;
  void clear_interpolation_quality() ;
  [[nodiscard]] ::int32_t interpolation_quality() const;
  void set_interpolation_quality(::int32_t value);

  private:
  ::int32_t _internal_interpolation_quality() const;
  void _internal_set_interpolation_quality(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:SettingsProto)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::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 SettingsProto& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    double cue_in_point_padding_seconds_;
    double cue_out_point_padding_seconds_;
    ::int32_t interpolation_quality_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_state_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ClipProto final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:ClipProto) */ {
  using Super_ = ::google::protobuf::Message;

 public:
  inline ClipProto() : ClipProto(nullptr) {}
  ~ClipProto() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit constexpr ClipProto(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

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

  [[nodiscard]] 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);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ClipProto& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ClipProto>(&ClipProto_globals_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(ClipProto& a, ClipProto& b) { a.Swap(&b); }
  inline void Swap(ClipProto* 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(ClipProto* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::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
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ClipProto* PROTOBUF_NONNULL other);
 private:
  static ::absl::string_view FullMessageName() { return "ClipProto"; }

  explicit ClipProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ClipProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ClipProto& from);
  ClipProto(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ClipProto&& from) noexcept
      : ClipProto(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_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

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

  // accessors -------------------------------------------------------
  enum : int {
    kDescriptionFieldNumber = 3,
    kPtsInFieldNumber = 1,
    kPtsOutFieldNumber = 2,
    kStreamIdxFieldNumber = 4,
    kFadeTimeSecondsFieldNumber = 5,
    kSpeedFieldNumber = 6,
  };
  // repeated string description = 3;
  [[nodiscard]] int description_size() const;
  private:
  int _internal_description_size() const;

  public:
  void clear_description() ;
  [[nodiscard]] const ::std::string& description(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_description(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_description();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_description(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      description() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_description();

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

  public:
  // int64 pts_in = 1;
  void clear_pts_in() ;
  [[nodiscard]] ::int64_t pts_in() const;
  void set_pts_in(::int64_t value);

  private:
  ::int64_t _internal_pts_in() const;
  void _internal_set_pts_in(::int64_t value);

  public:
  // int64 pts_out = 2;
  void clear_pts_out() ;
  [[nodiscard]] ::int64_t pts_out() const;
  void set_pts_out(::int64_t value);

  private:
  ::int64_t _internal_pts_out() const;
  void _internal_set_pts_out(::int64_t value);

  public:
  // int64 stream_idx = 4;
  void clear_stream_idx() ;
  [[nodiscard]] ::int64_t stream_idx() const;
  void set_stream_idx(::int64_t value);

  private:
  ::int64_t _internal_stream_idx() const;
  void _internal_set_stream_idx(::int64_t value);

  public:
  // double fade_time_seconds = 5;
  void clear_fade_time_seconds() ;
  [[nodiscard]] double fade_time_seconds() const;
  void set_fade_time_seconds(double value);

  private:
  double _internal_fade_time_seconds() const;
  void _internal_set_fade_time_seconds(double value);

  public:
  // double speed = 6;
  void clear_speed() ;
  [[nodiscard]] double speed() const;
  void set_speed(double value);

  private:
  double _internal_speed() const;
  void _internal_set_speed(double value);

  public:
  // @@protoc_insertion_point(class_scope:ClipProto)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 6,
                          0, 29,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::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 ClipProto& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> description_;
    ::int64_t pts_in_;
    ::int64_t pts_out_;
    ::int64_t stream_idx_;
    double fade_time_seconds_;
    double speed_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_state_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ClipListProto final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:ClipListProto) */ {
  using Super_ = ::google::protobuf::Message;

 public:
  inline ClipListProto() : ClipListProto(nullptr) {}
  ~ClipListProto() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit constexpr ClipListProto(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

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

  [[nodiscard]] 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);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ClipListProto& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ClipListProto>(&ClipListProto_globals_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(ClipListProto& a, ClipListProto& b) { a.Swap(&b); }
  inline void Swap(ClipListProto* 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(ClipListProto* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::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
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ClipListProto* PROTOBUF_NONNULL other);
 private:
  static ::absl::string_view FullMessageName() { return "ClipListProto"; }

  explicit ClipListProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ClipListProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ClipListProto& from);
  ClipListProto(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ClipListProto&& from) noexcept
      : ClipListProto(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_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

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

  // accessors -------------------------------------------------------
  enum : int {
    kClipFieldNumber = 1,
  };
  // repeated .ClipProto clip = 1;
  [[nodiscard]] int clip_size() const;
  private:
  int _internal_clip_size() const;

  public:
  void clear_clip() ;
  [[nodiscard]] const ::ClipProto& clip(int index) const;
  [[nodiscard]] ::ClipProto* PROTOBUF_NONNULL mutable_clip(int index);
  ::ClipProto* PROTOBUF_NONNULL add_clip();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::ClipProto>&
  clip() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::ClipProto>* PROTOBUF_NONNULL
  mutable_clip();

  private:
  const ::google::protobuf::RepeatedPtrField<::ClipProto>& _internal_clip() const;
  ::google::protobuf::RepeatedPtrField<::ClipProto>* PROTOBUF_NONNULL _internal_mutable_clip();

  public:
  // @@protoc_insertion_point(class_scope:ClipListProto)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::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 ClipListProto& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::ClipProto > clip_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_state_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED StateProto final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:StateProto) */ {
  using Super_ = ::google::protobuf::Message;

 public:
  inline StateProto() : StateProto(nullptr) {}
  ~StateProto() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit constexpr StateProto(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

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

  [[nodiscard]] 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);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const StateProto& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<StateProto>(&StateProto_globals_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(StateProto& a, StateProto& b) { a.Swap(&b); }
  inline void Swap(StateProto* 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(StateProto* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::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
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(StateProto* PROTOBUF_NONNULL other);
 private:
  static ::absl::string_view FullMessageName() { return "StateProto"; }

  explicit StateProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  StateProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const StateProto& from);
  StateProto(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, StateProto&& from) noexcept
      : StateProto(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_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

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

  // accessors -------------------------------------------------------
  enum : int {
    kClipListFieldNumber = 1,
    kPlayListFieldNumber = 2,
  };
  // .ClipListProto clip_list = 1;
  [[nodiscard]] bool has_clip_list() const;
  void clear_clip_list() ;
  [[nodiscard]] const ::ClipListProto& clip_list() const;
  [[nodiscard]] ::ClipListProto* PROTOBUF_NULLABLE release_clip_list();
  ::ClipListProto* PROTOBUF_NONNULL mutable_clip_list();
  void set_allocated_clip_list(::ClipListProto* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_clip_list(::ClipListProto* PROTOBUF_NULLABLE value);
  ::ClipListProto* PROTOBUF_NULLABLE unsafe_arena_release_clip_list();

  private:
  const ::ClipListProto& _internal_clip_list() const;
  ::ClipListProto* PROTOBUF_NONNULL _internal_mutable_clip_list();

  public:
  // .ClipListProto play_list = 2;
  [[nodiscard]] bool has_play_list() const;
  void clear_play_list() ;
  [[nodiscard]] const ::ClipListProto& play_list() const;
  [[nodiscard]] ::ClipListProto* PROTOBUF_NULLABLE release_play_list();
  ::ClipListProto* PROTOBUF_NONNULL mutable_play_list();
  void set_allocated_play_list(::ClipListProto* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_play_list(::ClipListProto* PROTOBUF_NULLABLE value);
  ::ClipListProto* PROTOBUF_NULLABLE unsafe_arena_release_play_list();

  private:
  const ::ClipListProto& _internal_play_list() const;
  ::ClipListProto* PROTOBUF_NONNULL _internal_mutable_play_list();

  public:
  // @@protoc_insertion_point(class_scope:StateProto)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          2, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::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 StateProto& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::ClipListProto* PROTOBUF_NULLABLE clip_list_;
    ::ClipListProto* PROTOBUF_NULLABLE play_list_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_state_2eproto;
};

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




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


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

// ClipProto

// int64 pts_in = 1;
inline void ClipProto::clear_pts_in() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pts_in_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::int64_t ClipProto::pts_in() const {
  // @@protoc_insertion_point(field_get:ClipProto.pts_in)
  return _internal_pts_in();
}
inline void ClipProto::set_pts_in(::int64_t value) {
  _internal_set_pts_in(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:ClipProto.pts_in)
}
inline ::int64_t ClipProto::_internal_pts_in() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.pts_in_;
}
inline void ClipProto::_internal_set_pts_in(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pts_in_ = value;
}

// int64 pts_out = 2;
inline void ClipProto::clear_pts_out() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pts_out_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::int64_t ClipProto::pts_out() const {
  // @@protoc_insertion_point(field_get:ClipProto.pts_out)
  return _internal_pts_out();
}
inline void ClipProto::set_pts_out(::int64_t value) {
  _internal_set_pts_out(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:ClipProto.pts_out)
}
inline ::int64_t ClipProto::_internal_pts_out() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.pts_out_;
}
inline void ClipProto::_internal_set_pts_out(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pts_out_ = value;
}

// repeated string description = 3;
inline int ClipProto::_internal_description_size() const {
  return _internal_description().size();
}
inline int ClipProto::description_size() const {
  return _internal_description_size();
}
inline void ClipProto::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::std::string* PROTOBUF_NONNULL ClipProto::add_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_description()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add_mutable:ClipProto.description)
  return _s;
}
inline const ::std::string& ClipProto::description(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:ClipProto.description)
  return _internal_description().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL ClipProto::mutable_description(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:ClipProto.description)
  return _internal_mutable_description()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void ClipProto::set_description(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_description()->Mutable(index),
      ::std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:ClipProto.description)
}
template <typename Arg_, typename... Args_>
inline void ClipProto::add_description(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_description(), ::std::forward<Arg_>(value),
      args... );
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:ClipProto.description)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& ClipProto::description()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:ClipProto.description)
  return _internal_description();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
ClipProto::mutable_description() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:ClipProto.description)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_description();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
ClipProto::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
ClipProto::_internal_mutable_description() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.description_;
}

// int64 stream_idx = 4;
inline void ClipProto::clear_stream_idx() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stream_idx_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::int64_t ClipProto::stream_idx() const {
  // @@protoc_insertion_point(field_get:ClipProto.stream_idx)
  return _internal_stream_idx();
}
inline void ClipProto::set_stream_idx(::int64_t value) {
  _internal_set_stream_idx(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:ClipProto.stream_idx)
}
inline ::int64_t ClipProto::_internal_stream_idx() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.stream_idx_;
}
inline void ClipProto::_internal_set_stream_idx(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stream_idx_ = value;
}

// double fade_time_seconds = 5;
inline void ClipProto::clear_fade_time_seconds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.fade_time_seconds_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline double ClipProto::fade_time_seconds() const {
  // @@protoc_insertion_point(field_get:ClipProto.fade_time_seconds)
  return _internal_fade_time_seconds();
}
inline void ClipProto::set_fade_time_seconds(double value) {
  _internal_set_fade_time_seconds(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:ClipProto.fade_time_seconds)
}
inline double ClipProto::_internal_fade_time_seconds() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.fade_time_seconds_;
}
inline void ClipProto::_internal_set_fade_time_seconds(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.fade_time_seconds_ = value;
}

// double speed = 6;
inline void ClipProto::clear_speed() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.speed_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline double ClipProto::speed() const {
  // @@protoc_insertion_point(field_get:ClipProto.speed)
  return _internal_speed();
}
inline void ClipProto::set_speed(double value) {
  _internal_set_speed(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:ClipProto.speed)
}
inline double ClipProto::_internal_speed() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.speed_;
}
inline void ClipProto::_internal_set_speed(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.speed_ = value;
}

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

// ClipListProto

// repeated .ClipProto clip = 1;
inline int ClipListProto::_internal_clip_size() const {
  return _internal_clip().size();
}
inline int ClipListProto::clip_size() const {
  return _internal_clip_size();
}
inline void ClipListProto::clear_clip() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.clip_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::ClipProto& ClipListProto::clip(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:ClipListProto.clip)
  return _internal_clip().Get(index);
}
inline ::ClipProto* PROTOBUF_NONNULL ClipListProto::mutable_clip(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:ClipListProto.clip)
  return _internal_mutable_clip()->Mutable(index);
}
inline ::ClipProto* PROTOBUF_NONNULL ClipListProto::add_clip()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::ClipProto* _add =
      _internal_mutable_clip()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:ClipListProto.clip)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::ClipProto>& ClipListProto::clip() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:ClipListProto.clip)
  return _internal_clip();
}
inline ::google::protobuf::RepeatedPtrField<::ClipProto>* PROTOBUF_NONNULL
ClipListProto::mutable_clip() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:ClipListProto.clip)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_clip();
}
inline const ::google::protobuf::RepeatedPtrField<::ClipProto>&
ClipListProto::_internal_clip() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.clip_;
}
inline ::google::protobuf::RepeatedPtrField<::ClipProto>* PROTOBUF_NONNULL
ClipListProto::_internal_mutable_clip() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.clip_;
}

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

// StateProto

// .ClipListProto clip_list = 1;
inline bool StateProto::has_clip_list() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.clip_list_ != nullptr);
  return value;
}
inline void StateProto::clear_clip_list() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.clip_list_ != nullptr) _impl_.clip_list_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::ClipListProto& StateProto::_internal_clip_list() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::ClipListProto* p = _impl_.clip_list_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::ClipListProto>(&::ClipListProto_globals_);
}
inline const ::ClipListProto& StateProto::clip_list() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:StateProto.clip_list)
  return _internal_clip_list();
}
inline void StateProto::unsafe_arena_set_allocated_clip_list(
    ::ClipListProto* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.clip_list_);
  }
  _impl_.clip_list_ = reinterpret_cast<::ClipListProto*>(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:StateProto.clip_list)
}
inline ::ClipListProto* PROTOBUF_NULLABLE StateProto::release_clip_list() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::ClipListProto* released = _impl_.clip_list_;
  _impl_.clip_list_ = 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 ::ClipListProto* PROTOBUF_NULLABLE StateProto::unsafe_arena_release_clip_list() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:StateProto.clip_list)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::ClipListProto* temp = _impl_.clip_list_;
  _impl_.clip_list_ = nullptr;
  return temp;
}
inline ::ClipListProto* PROTOBUF_NONNULL StateProto::_internal_mutable_clip_list() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.clip_list_ == nullptr) {
    auto* p = Super_::DefaultConstruct<::ClipListProto>(GetArena());
    _impl_.clip_list_ = reinterpret_cast<::ClipListProto*>(p);
  }
  return _impl_.clip_list_;
}
inline ::ClipListProto* PROTOBUF_NONNULL StateProto::mutable_clip_list()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::ClipListProto* _msg = _internal_mutable_clip_list();
  // @@protoc_insertion_point(field_mutable:StateProto.clip_list)
  return _msg;
}
inline void StateProto::set_allocated_clip_list(::ClipListProto* 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_.clip_list_);
  }

  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_.clip_list_ = reinterpret_cast<::ClipListProto*>(value);
  // @@protoc_insertion_point(field_set_allocated:StateProto.clip_list)
}

// .ClipListProto play_list = 2;
inline bool StateProto::has_play_list() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.play_list_ != nullptr);
  return value;
}
inline void StateProto::clear_play_list() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.play_list_ != nullptr) _impl_.play_list_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::ClipListProto& StateProto::_internal_play_list() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::ClipListProto* p = _impl_.play_list_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::ClipListProto>(&::ClipListProto_globals_);
}
inline const ::ClipListProto& StateProto::play_list() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:StateProto.play_list)
  return _internal_play_list();
}
inline void StateProto::unsafe_arena_set_allocated_play_list(
    ::ClipListProto* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.play_list_);
  }
  _impl_.play_list_ = reinterpret_cast<::ClipListProto*>(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:StateProto.play_list)
}
inline ::ClipListProto* PROTOBUF_NULLABLE StateProto::release_play_list() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::ClipListProto* released = _impl_.play_list_;
  _impl_.play_list_ = 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 ::ClipListProto* PROTOBUF_NULLABLE StateProto::unsafe_arena_release_play_list() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:StateProto.play_list)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::ClipListProto* temp = _impl_.play_list_;
  _impl_.play_list_ = nullptr;
  return temp;
}
inline ::ClipListProto* PROTOBUF_NONNULL StateProto::_internal_mutable_play_list() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.play_list_ == nullptr) {
    auto* p = Super_::DefaultConstruct<::ClipListProto>(GetArena());
    _impl_.play_list_ = reinterpret_cast<::ClipListProto*>(p);
  }
  return _impl_.play_list_;
}
inline ::ClipListProto* PROTOBUF_NONNULL StateProto::mutable_play_list()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::ClipListProto* _msg = _internal_mutable_play_list();
  // @@protoc_insertion_point(field_mutable:StateProto.play_list)
  return _msg;
}
inline void StateProto::set_allocated_play_list(::ClipListProto* 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_.play_list_);
  }

  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], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.play_list_ = reinterpret_cast<::ClipListProto*>(value);
  // @@protoc_insertion_point(field_set_allocated:StateProto.play_list)
}

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

// SettingsProto

// int32 interpolation_quality = 1;
inline void SettingsProto::clear_interpolation_quality() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.interpolation_quality_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::int32_t SettingsProto::interpolation_quality() const {
  // @@protoc_insertion_point(field_get:SettingsProto.interpolation_quality)
  return _internal_interpolation_quality();
}
inline void SettingsProto::set_interpolation_quality(::int32_t value) {
  _internal_set_interpolation_quality(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:SettingsProto.interpolation_quality)
}
inline ::int32_t SettingsProto::_internal_interpolation_quality() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.interpolation_quality_;
}
inline void SettingsProto::_internal_set_interpolation_quality(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.interpolation_quality_ = value;
}

// double cue_in_point_padding_seconds = 2;
inline void SettingsProto::clear_cue_in_point_padding_seconds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cue_in_point_padding_seconds_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline double SettingsProto::cue_in_point_padding_seconds() const {
  // @@protoc_insertion_point(field_get:SettingsProto.cue_in_point_padding_seconds)
  return _internal_cue_in_point_padding_seconds();
}
inline void SettingsProto::set_cue_in_point_padding_seconds(double value) {
  _internal_set_cue_in_point_padding_seconds(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:SettingsProto.cue_in_point_padding_seconds)
}
inline double SettingsProto::_internal_cue_in_point_padding_seconds() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.cue_in_point_padding_seconds_;
}
inline void SettingsProto::_internal_set_cue_in_point_padding_seconds(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cue_in_point_padding_seconds_ = value;
}

// double cue_out_point_padding_seconds = 3;
inline void SettingsProto::clear_cue_out_point_padding_seconds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cue_out_point_padding_seconds_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline double SettingsProto::cue_out_point_padding_seconds() const {
  // @@protoc_insertion_point(field_get:SettingsProto.cue_out_point_padding_seconds)
  return _internal_cue_out_point_padding_seconds();
}
inline void SettingsProto::set_cue_out_point_padding_seconds(double value) {
  _internal_set_cue_out_point_padding_seconds(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:SettingsProto.cue_out_point_padding_seconds)
}
inline double SettingsProto::_internal_cue_out_point_padding_seconds() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.cue_out_point_padding_seconds_;
}
inline void SettingsProto::_internal_set_cue_out_point_padding_seconds(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cue_out_point_padding_seconds_ = value;
}

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

// @@protoc_insertion_point(namespace_scope)


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"
// clang-format on

#endif  // state_2eproto_2epb_2eh
